MFC使用控制台介面

2021-06-02 14:12:50 字數 1049 閱讀 6050

在mfc程式中輸出除錯資訊的方法有兩種,一種是使用trace巨集,可以向output視窗輸出除錯資訊;另一種是用messagebox,彈出訊息框來輸出除錯資訊,但會影響程式的執行。

其實有一種方法可以更為方便的輸出除錯資訊,就是輸出到控制台(console)中,即不影響程式執行,又便於檢視除錯資訊。方法如下:

1、#include

2、在需要開啟控制台視窗的地方呼叫

allocconsole();//注意檢查返回值

3、在需要輸出除錯的時候呼叫_cprintf等函式

如_cprintf("i=%d\n", i);

4、關閉控制台的時候呼叫

freeconsole();

注意:上述方法在輸出中文時會出現亂碼,如果需要輸出中文,請使用下面的方法:

allocconsole();

freopen( "conout$","w",stdout);

printf("i的值為%d\n", i);

freeconsole();

demo:

console_screen_buffer_info csbiinfo; 

small_rect srctwindow;//console

介面結構

allocconsole();//產生乙個console介面

handle hdlwrite = getstdhandle(std_output_handle);//獲取console控制代碼

getconsolescreenbufferinfo(hdlwrite, &csbiinfo);

small_rect rc = ; // 重置視窗位置和大小

bool bset=setconsolewindowinfo(hdlwrite,true ,&rc);//設定介面大小

setconsoletitle("hollysys");//設定title

freopen( "conout$","w",stdout);//支援中文顯示

printf("salary:%d\n",50000);

freeconsole();//釋放console

MFC 使用控制台介面

mfc下利用trace語句可以很方便的列印除錯資訊,但是有些時候如果要列印另外的資訊,為了分析資料的方便,不想與trace的資訊混在一起。這個時候,利用控制台輸出就是乙個比較不錯的捷徑。雖然有很多侷限性,比如,只能開乙個控制台等等,但是,這個方法還是比較有吸引力,因為其使用就如同控制台程式一樣,比讀...

MFC使用控制台

在mfc中除錯程式,可以單步除錯,有的時候輸出值為了方便,還是使用控制台,使用方法如下 在mfc專案的oninitdlg 這個是對話方塊專案 函式中新增下面的 todo 在此新增額外的初始化 開啟控制項臺 allocconsole 開啟控制項臺資源 freopen conout w t stdout...

控制台介面控制(一)

總述 前言 這裡所說的控制台指的是console程式設計。顯示的介面類似dos,某種程式上也很像tc裡的執行結果。是一種vc上的簡易視窗程式設計。vc 有提供window視窗程式設計,可以寫出很好看的視窗介面,可是涉及的知識點較多。如果有時候只是想測試一下某個用法,或者寫的某個函式,就很沒效率。控制...