我在Visual C ++中创建了一个空项目,但现在我需要控制台来显示调试输出。
如何在不重新创建项目的情况下启用控制台或在VS输出窗口中显示输出?
答案 0 :(得分:18)
这里有一些代码可以插入以在WinMain中启动的GUI的Windows应用程序中获取控制台窗口。还有其他方法可以实现这一点,但这是我发现的最紧凑的片段。
//Alloc Console
//print some stuff to the console
//make sure to include #include "stdio.h"
//note, you must use the #include <iostream>/ using namespace std
//to use the iostream... #incldue "iostream.h" didn't seem to work
//in my VC 6
AllocConsole();
freopen("conin$","r",stdin);
freopen("conout$","w",stdout);
freopen("conout$","w",stderr);
printf("Debugging Window:\n");
答案 1 :(得分:10)
您始终可以在代码中调用AllocConsole来为您的应用程序创建控制台,并将其附加到流程中。 FreeConsole将删除控制台,同时从中删除该过程。
如果希望所有标准输出流数据都转到控制台,则还需要使用SetStdHandle来适当地重定向输出。这是page showing working code to do this full process,包括分配控制台和重定向输出。
答案 2 :(得分:1)
您可以使用OutputDebugString写入vs输出窗口。 http://msdn.microsoft.com/en-us/library/aa363362(VS.85).aspx