• MFC中使用cout或printf输出调试信息


    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;
    }
  • 相关阅读:
    F. 数学上来先打表
    LibreOJ β Round #2
    noip飞扬的小鸟
    jxoi2017
    分块算法
    Chino的数列
    cf 613E
    cf 126D
    cf 542E
    cf 512D
  • 原文地址:https://www.cnblogs.com/ike_li/p/15475594.html
Copyright © 2020-2023  润新知