0
FILE* logfile;

freopen_s(&logfile, "log.txt", "w", stdout);

printf("test");

fclose(stdout);

Visual Studio で奇妙な問題が発生しています。コンソール アプリで上記のコードを実行すると、ログ ファイルが正常に書き込まれます。しかし、Win アプリでコードを実行すると、ログ ファイルは常に空になります。

私が間違っていることを誰かが知っていますか?

4

1 に答える 1

0

Windows プログラムにはコンソールが接続されていません。したがって、stdout へのストリーム IO は効果がありません。SUBSYSTEM スイッチを使用してアプリをコンソール アプリに変換するか、SetStdHandle 関数を使用してハンドルを stdout に割り当てることができます。

于 2013-04-27T01:46:53.660 に答える