在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視窗程式設計,可以寫出很好看的視窗介面,可是涉及的知識點較多。如果有時候只是想測試一下某個用法,或者寫的某個函式,就很沒效率。控制...