生成された一部の印刷物と通常の標準出力への復帰を分離するために、標準出力を別のファイルに転送する必要がありました。
私freopen
はこの方法でファイルに切り替えていました:
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);
実際には機能しますが、プロセスの最後に (stdout が以前と同じ方法で何度もリダイレクトされることに注意してください)、元の stdout に戻すことができません。私は次のことを試しました:
freopen("/dev/stdout", "w", stdout);
しかし、それはうまくいかないようです..私がmacosxで開発している情報のためだけに。
私は何をすべきか?
前もって感謝します