Ich musste stdout an verschiedene Dateien weiterleiten, um einige Ausdrucke und die Rückkehr zu normalem stdout zu trennen.
Ich benutzte freopen
um auf diese Weise zur Datei zu wechseln:
char name[80];
memset(name, 0, 80);
strcpy(name, "./scripts/asm/");
strcat(name, m_func->m_name->m_value);
strcat(name, ".shasm");
freopen(name, "w", stdout);
Und es funktioniert tatsächlich, aber am Ende des Prozesses (beachten Sie, dass stdout viele Male in der vorherigen gleichen Weise umgeleitet wird) Ich bin nicht in der Lage, es zu ursprünglichen stdout zurückkehren. Ich habe das Folgende versucht:
freopen("/dev/stdout", "w", stdout);
aber es scheint nicht zu funktionieren.. nur zur Information ich entwickle auf macosx.
Was sollte ich tun?
Vielen Dank im Voraus