MFC中使用cout或printf輸出除錯資訊
阿新 • • 發佈:2021-10-28
VS2019開發環境
一、在InitInstance() 前面新增以下函式。
#include <io.h> #include <fcntl.h> void InitConsoleWindow() { AllocConsole(); HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); int hcrt = _open_osfhandle((long)handle, _O_TEXT); FILE* hf = _fdopen(hcrt, "w"); *stdout = *hf; }
二、在程式InitInstance()函式中初始視窗之前,呼叫InitConsoleWindow()
BOOL CMFCApplication1App::InitInstance() { .... SetRegistryKey(_T("應用程式嚮導生成的本地應用程式")); InitConsoleWindow(); CMFCApplication1Dlg dlg; m_pMainWnd = &dlg; ..... }
三、在解決方案管理器處,專案右擊->屬性->配置屬性->生成事件->生成後事件->命令列->輸入以下語句
editbin /SUBSYSTEM:CONSOLE $(OUTDIR)$(ProjectName).exe
四、使用,會彈出一個命令列的視窗,打印出資訊
#include<iostream> #include<stdio.h> void CMFCApplication1Dlg::OnBnClickedOk() { // TODO: 在此新增控制元件通知處理程式程式碼 std::cout << "ssssss" << std::endl; }