AllocConsole();//打开控制台窗口以显示调试信息
SetConsoleTitleA("Debug Win");//设置标题
HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);//获取控制台输出句柄
INT hCrt = _open_osfhandle((INT)hCon, _O_TEXT);//转化为C文件描述符
FILE * hf = _fdopen( hCrt, "w" );//转化为C文件流
setvbuf( hf, NULL, _IONBF, 0); //无缓冲
*stdout = *hf;//重定向标准输出
...
FreeConsole();//释放console
这一段代码可以启动控制台的输出句柄,并将之关联到本地,此前输出信息就可以正常输出到窗口里边了
本文详细介绍了如何使用C++代码启动控制台输出句柄并将其关联到本地,实现调试信息的有效输出。通过AllocConsole(), SetConsoleTitleA(), GetStdHandle()等API的运用,确保了控制台窗口能正确显示程序的输出信息。
897

被折叠的 条评论
为什么被折叠?



