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 函数将句柄分配给标准输出。

于 2013-04-27T01:46:53.660 回答