stdoutとstderrの出力をファイルを使ってリダイレクトしようとしています。私はfreopenを使用しており、正しいディレクトリにファイルを作成しますが、ファイルは空白です。 stdoutとstderrをリダイレクトするコードをコメントアウトすると、出力がコンソールに表示されます。私がメインで、それはしかし、文句を言わないファイルへの書き込み出力抑制剤なしのprintf(「私は仕事」)に置かれているfreopenが指定されたファイルに書き込みを行っていません
freopen(stderrStr.c_str(), "a+", stderr); //where stderrStr and stdoutStr are the path/file name
freopen(stdoutStr.c_str(), "a+", stdout);
fclose(stdout);
fclose(stderr);
:ここ
はコードです。
stdoutまたはstderrを決して閉じないで、プログラム終了時に自動的に閉じます。 –
@dark_charlie私はhttp://www.cplusplus.com/reference/clibrary/cstdio/freopen/ から例を得ました。私はそれらのクローズド・ステートメントをコメントしました。 – user1185853