Visual C++启用控制台

Att*_*tic 7 c++ console visual-c++

我在Visual C++中创建了一个空项目,但现在我需要控制台来显示调试输出.

如何在不重新创建项目的情况下启用控制台或在VS输出窗口中显示输出?

Rya*_*ard 19

这里有一些代码可以插入以在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");
Run Code Online (Sandbox Code Playgroud)

  • @RyanWoodard这是如何工作的.什么是`conin $`? (4认同)
  • @RyanWoodard我还想要更深入的解释. (3认同)
  • 简单,非常适合一些基本的调试,谢谢! (2认同)

Ree*_*sey 10

您始终可以在代码中调用AllocConsole来为您的应用程序创建控制台,并将其附加到流程. FreeConsole也将删除控制台,从中分离进程.

如果希望所有标准输出流数据都转到控制台,则还需要使用SetStdHandle来适当地重定向输出.这是一个显示完成此过程的工作代码页面,包括分配控制台和重定向输出.

  • 控制台出现了,但我放入std :: cout的数据没有出现在那里. (2认同)