Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
FILE* logfile; freopen_s(&logfile, "log.txt", "w", stdout); printf("test"); fclose(stdout);
Visual Studio で奇妙な問題が発生しています。コンソール アプリで上記のコードを実行すると、ログ ファイルが正常に書き込まれます。しかし、Win アプリでコードを実行すると、ログ ファイルは常に空になります。
私が間違っていることを誰かが知っていますか?
Windows プログラムにはコンソールが接続されていません。したがって、stdout へのストリーム IO は効果がありません。SUBSYSTEM スイッチを使用してアプリをコンソール アプリに変換するか、SetStdHandle 関数を使用してハンドルを stdout に割り当てることができます。