В GThread У меня есть код как таковойтрубопровод STDERR в буфер
char *commandLine [1024];
sprintf(commandLine, "gcc myfile.c -o myfile.exe 2>&1");
FILE* pipein_fp;
extern FILE* popen();
static char buffer [1024];
pipein_fp = popen(commandLine, "r");
while(fgets(buffer, 1024, pipein_fp) != NULL) g_print("\n%s", buffer);
pclose(pipein_fp);
так 2>&1
предполагается перенаправить поток ошибок на стандартный вывод и конвейерный g_print предполагается печатать выход Stderr ССАГПЗ в. Но он ничего не делает. Что я могу сделать неправильно?
Вы уверены, что программа содержит ошибки? Если ошибок нет, он ничего не печатает для stderr. – Barmar