日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

向MFC应用程序添加控制台窗口

發布時間:2025/3/17 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 向MFC应用程序添加控制台窗口 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

??? 如果你曾經寫過MFC應用程序,也許你忽略了控制臺窗口。熟悉了控制臺窗口的人會認為它是如此的便捷,我就是一個,認為printf或者cout是最優秀的調試函數,可以在不打開任務管理器的情況下在控制臺中僅僅按下CTRL+C來結束不響應的程序。不幸的是,MFC應用程序默認情況下并不支持控制臺。但是在你的應用程序加入一小段代碼后,然后改變連接選項你就可以解決這個問題

?

l???????? 對于Visual Studio .NET

l???????? 對于 Visual Stduio 98 (Visual C++ 6.0)

l???????? 它是如何工作的?

?

對于Visual Studio .NET

請根據下面的步驟做:

?

1.???????? 復制以下代碼保存為"mfcconsole.cpp",在Visual Studio .NET選擇"Project"菜單的"Add Existing Item",把"mfcconsole.cpp"加進來

?

#include "stdafx.h"

#include <stdio.h>

#include <windows.h>

?

extern "C"

{

int PASCAL WinMain(HINSTANCE inst,HINSTANCE dumb,LPSTR param,int show);

};

?

int main(int ac,char *av[])

{

???????? char buf[256];

???????? int i;

???????? HINSTANCE inst;

???????? inst=(HINSTANCE)GetModuleHandle(NULL);

???????? buf[0]=0;

???????? for(i=1; i<ac; i++)

???????? {

?????????????????? strcat(buf,av[i]);

?????????????????? strcat(buf," ");

???????? }

?????? return WinMain(inst,NULL,buf,SW_SHOWNORMAL);

}

?

2.???????? 有時不知什么原因vs不編譯某些已包含的文件,這個時候,選擇"Solution Explorer"屬性頁,然后右鍵單擊"mfcconsole.cpp"文件選擇"Property",按下面的圖解設置

?

?

?

?

3.???????? "Solution Explorer" 屬性頁選擇項目名字,右鍵屬性,設置如下

?

?

?

編譯一下看看效果o(_)o…,如果你想刪除控制臺,你只需要將上圖的SubSystem恢復至/SUBSYSTEM:WINDOWS

?

對于 Visual Stduio 98 (Visual C++ 6.0)

?

Here's how to add a printf-able console window to your MFC application.

?

1.?????? .net的(1

??

2. 右鍵單擊mfcconsole.cpp文件,選擇” Setting”,設置如下圖:

?

?

?

?3. 在項目菜單中點擊設置,設置如下圖,將"/subsystem:windows"改為"/subsystem:console"

?

?

?

它是如何工作的

連接選項"/subsystem:*****"控制程序是否有一個控制臺窗口,

l???????? 如果是"/subsystem:console":程序啟動控制臺,從main函數開始執行

l???????? 如果是"/subsystem:windows":不啟動控制臺,從WinMain開始執行

?

三、

?

#include?? <io.h>

?

#include?? <fcntl.h>

?

#include?? <io.h>

?

#include?? <fcntl.h>

?

void?? OpenConsole()

?

{

?

AllocConsole();

?

HANDLE?? handle?? =?? GetStdHandle(STD_OUTPUT_HANDLE);

?

int?? hCrt?? =?? _open_osfhandle((long)handle,_O_TEXT);

?

FILE?? *?? hf?? =?? _fdopen(?? hCrt,?? "w"?? );

?

*stdout?? =?? *hf;

?

}

?

添加CXXApp為成員函數

?

InitInstance調用OpenConsole();

?

就可以調出Console用print輸出了

?

轉載于:https://www.cnblogs.com/kiss007/archive/2012/08/18/2645429.html

總結

以上是生活随笔為你收集整理的向MFC应用程序添加控制台窗口的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。