VS2019 MFC模式下如何调用控制台并用cprintf在控制台打印
哪个大冤种还在用MFC,哦是我
运行MFC程序,界面出来的时候一般是没有控制台的,也就是说看不到任何printf的结果,有时候就很难定位程序卡在哪一步了,如何同时调用控制台捏!
解决方法
1.找到项目所在文件夹,以debug x64为例,进入x64/debug文件夹,在里面新建debug.txt空白文件,并且把txt后缀改为flag,也就是debug.flag文件。
并在 InitInstance() 函数的代码中添加:
char szBuf[256]; ::GetModuleFileName(NULL, szBuf, sizeof(szBuf));
strcpy(strrchr(szBuf, '\\'), "\\debug.flag");
if (IsExist(szBuf)) { AllocConsole(); SetConsoleCtrlHandler((PHANDLER_ROUTINE)CtrlHandler, TRUE); }
这段代码会判断是否存在debug.flag文件,如果存在就用调用控制台
再运行,就可以同时出现MFC窗口和控制台窗口了
之后如果不需要控制台,就可以把debug.flag删掉,或者改个名字。
2.在控制台打印消息需要使用cprintf函数,并且在此之前,需要先添加头文件
#include"conio.h"
现在就可以在控制台黑窗口中看到打印出来的消息了
但是cout就不行,至于怎么使用cout打印,还在摸索中,之后再来更新~