将stdout重定向到文件无效

时间:2013-04-27 01:42:45

标签: c++ file logging stdout

FILE* logfile;

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

printf("test");

fclose(stdout);

我对Visual Studio有一个奇怪的问题。当我在控制台应用程序中执行上述代码时,日志文件写得很好。但是当我在Win应用程序中执行代码时,日志文件始终为空。

有谁知道我做错了什么?

1 个答案:

答案 0 :(得分:0)

Windows程序没有连接控制台。因此,任何流到标准输出的流IO都没有效果。您可以通过SUBSYSTEM开关将应用程序转换为控制台应用程序,也可以通过SetStdHandle函数为stdout指定句柄。