win32專案和win32控制台應用程式有點不同,沒有控制台視窗,有時做除錯需要用斷點。不過也可以有,在cpp檔案頭加上這句話#pragma comment( linker, "/subsystem:\"console\" /entry:\"winmaincrtstartup\""),就可以開啟控制台視窗,也就可以使用printf來檢視觀察變數或者除錯了。除此之外,還有其它方式來輸出想要的資訊
1. 使用outputdebugstring。用個簡單的**作為例子
#include "stdafx.h"
#include #include int winapi winmain(hinstance hinstance,
hinstance hprevinstance,
lpstr lpcmdline,
int nshowcmd)
使用system("pause")的話,可以在除錯資訊最末尾找到輸出的資訊。在字串後加上'\n'能夠起到換行效果,可以用wsprintf來控制輸出格式。outputdebugstring輸出的長度有限,具體多長沒試。outputdebugstring支援的格式不只有字串陣列,還有lpstr等其它型別。
2.使用cmd列印資訊。在c/c++使用cmd也就是使用system()方法。不過列印資訊也需要配合system("pause")暫停一下程式。看下面的例子。
#include "stdafx.h"
#include #include int winapi winmain(hinstance hinstance,
hinstance hprevinstance,
lpstr lpcmdline,
int nshowcmd)
這種做法有侷限性,首先test不能有換行符,就像在cmd輸入命令一樣,輸入換行就是執行命令了。其次,需要和pause用&連線起來,不然結果就是一閃而過。當然,除了echo,還可以使用其它的cmd命令。
3.使用textout,drawtext,messagebox等方法,前兩個方法要在win32應用程式視窗才能顯示出來,而messagebox則是彈出乙個小視窗。前兩個方法只是用來除錯感覺就有點大材小用了。
Win32程式設計
win32 malloc函式的底層實現是win32api utf 16編碼以16位無符號整數為單位,注意是16位為乙個單位,不是乙個字元就只有16位,這個要看字元的unicode編碼處於什麼範圍而定,有可能是2個位元組,也可能是4個位元組現在機器上的unicode編碼一般就是指utf 16 以兩個位...
win32彙編使用win32 api實現字串拷貝
字串拷貝,呼叫win32的lstrcpy函式 拷貝了以後用訊息框顯示一下 386 model flat,stdcall option casemap none include s masm32 include windows.inc include s masm32 include user32.i...
win32控制台 win32工程 MFC工程的區別
空專案 控制台 問2個問題即可。1.控制台 vs win32 mfc?嗯,有不有臉?有臉,選win32或mfc。沒有臉,選控制台。臉就是視窗,就是window.s 這個有臉 這個沒臉 控制台與win32 mfc 互動方式的不同,前者是cml 命令模式 後者是gui 使用者介面 2.mfc vs wi...