In einem GThread Ich habe Code als solcheRohrleitungen stderr zu einem Puffer
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);
so 2>&1
soll stderr nach stdout umleiten und die verrohrt g_print sollte aus dem gcc stderr Ausgabe drucken. Aber es tut nichts. Was mache ich möglicherweise falsch?
Sind Sie sicher, dass das Programm Fehler hat? Wenn es keine Fehler gibt, wird nichts auf stderr gedruckt. – Barmar