格式化字符串WSPRINTF

在C語言中格式化字符串可以使用printf,但是在WINDOWS編程設計中卻行不通了,但是卻有變通的方法,那就是用 wsprintf這個函數 它的格式如下:

wsprintf(緩衝區,格式,要格式化的值);
第一個參數是字符緩衝區,後面是格式字符串,wsprintf不是將格式化結果寫到標準輸出,而是將其寫入緩衝區中,該函數返回該字符串的長度。

比如我們想通過MessageBox來輸出一個整形變量的值,可以用以下代碼實現:
char szBuffer[100];
ing number=100;
wsprintf(szBuffer, “%d”,number);
MessgaeBox(NULL,szBrffer,TEXT(“格式化字符串”),0);
這個函數除了將內容格式化輸出到第一個參數所提供的字符串緩衝區以外,其它功能與printf函數相同

wsprintf對應的字符串是寬字符型wchar_t,即一個字符佔用2個字節的內存空間.
sprintf對應的字符串是字符類型爲char,幾一個字符佔用1個字節的內存空間.
sprintf是用於對ASCII碼的127個字符進行操作,wsprintf是對UNICODE的多語言字符進行操作.
如:
sprintf(buffer, "ascii");
wsprintf(buffer, L"unicode");

 

wsprintf 根據unicode宏是否定義,自動使用短字符或長字符

windows使用wsprintfA輸出短字符,wsprintfW輸出長字符
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章