美文网首页
VS2015 开启命令行无法printf信息

VS2015 开启命令行无法printf信息

作者: 晓函 | 来源:发表于2024-05-27 10:29 被阅读0次

    在做项目的时候经常会通过printf打印一些调试信息,但是MFC项目引用后printf信息是无法输出到调试窗口的,网上一些说通过AllocConsole();打开命令窗口在VS2017中竟然不好用,最终经过网络寻找到可用方法:

    在vs中打开你的解决方案。
    鼠标移动到你的项目名称上,点击鼠标右键,再点击属性,此刻会此项目的属性页。
    在配置属性中,找到生成事件,在找到后期生成事件。
    在命令行的右边空白处添加

    editbin /SUBSYSTEM:CONSOLE $(OUTDIR)$(ProjectName).exe
    

    以上4步就已经ok了,此时运行你的程序,会多弹出一个黑色命令行的提示框,用来输出你的打印信息。

    image.png

    代码配置:

     在生成的stdafx.h文件中引入:
            #include <io.h>
            #include <fcntl.h>
            #include <stdio.h>
    
     在入口中处调用:
    
        void InitConsoleWindow()
        {
            int nCrt = 0;
            FILE* fp;
            AllocConsole();
            nCrt = _open_osfhandle((long)GetStdHandle(STD_OUTPUT_HANDLE), _O_TEXT);
            fp = _fdopen(nCrt, "w");
            *stdout = *fp;
            setvbuf(stdout, NULL, _IONBF, 0);
        }
        
        BOOL Test_usb_otaDlg::OnInitDialog()
        {
            CDialogEx::OnInitDialog();
            ....
           InitConsoleWindow();
           printf("test\n");
        }
    
    

    相关文章

      网友评论

          本文标题:VS2015 开启命令行无法printf信息

          本文链接:https://www.haomeiwen.com/subject/armcqjtx.html