QDebug
可能正在写入stderr
, whileprintf
或您的日志功能仅连接到stdout
.
在 Visual Studio 中显示控制台
您有两种不同的方式来显示 Visual Studio 中的黑色控制台/终端窗口:
一:Visual C++启用控制台
在开始打印到控制台之前,在程序中的某处添加以下内容:
#include <stdio.h>
// ...
AllocConsole();
freopen("conin$","r",stdin);
freopen("conout$","w",stdout);
freopen("conout$","w",stderr);
// printf("Debugging Window:\n");
或者您可以告诉 Visual Studio 您正在编写一个控制台程序并为您制作一个。
VS2010调试Win32 MFC应用程序时显示控制台窗口
项目 > 属性 > 配置属性 > 链接器 > 系统 > 子系统
(这是在 VS 2010 中找到设置的导航,对于 VS 2008 可能有点不同)
从 更改Windows (/SUBSYSTEM:WINDOWS)
为Console (/SUBSYSTEM:CONSOLE)
。
重定向stderr
或stdout
或者您可以尝试的第三种选择是让您的日志记录打印到stderr
,就像QDebug
.
http://cboard.cprogramming.com/c-programming/26852-stderr-vs-stdout.html
FILE *myerr = freopen("error.log", "wb", stderr);
希望有帮助。