В многопоточной программе я пишу пользовательскую функцию печати, которая принимает список переменных.
void t_printf(char * str, ...)
{
if(file_ptr != NULL)
{
va_list ap;
va_start(ap, str);
vfprintf(file_ptr, str, ap);
va_end(ap);
fflush(file_ptr);
}
}
Внутри этой функции я хочу добавить текущий идентификатор потока (используя pthread_self()
) к печатаемому сообщению. Как мне это сделать? Есть ли способ добавить его в существующий va_list?