04 Windows程式設計 Unicode

2022-03-19 06:07:43 字數 792 閱讀 4935

vs 2017下原始碼

1 #include2

3int

main()

4

view code

執行結果

對於寬字串,如果使用printf("w_str = %s\n", w_str);可能不會列印出完整的字串,而只顯示第乙個字元。

其原因是因為:寬字元占用2byte,第二個位元組就是\0。printf以為自己到頭了,所以只列印乙個位元組。對printf使用%s引數,或者使用wprintf來避免這一問題。我手上的是vs 2017,使用printf("w_str = %s\n", w_str);居然也可以正常列印,其他版本的vs估計不行。

如果是其他版本的vs,可能需要在寬字元前面加l,列印寬字串需要使用%s。這時候原始碼如下

1 #include2

3int

main()

4

view code

還可以使用tchar無腦處理unicode ascii。如果定義了_unicode,那麼tchar = wchar_t,否則位char。如果定義了_unicode,那麼_text=l,否則_text=空 

1 #include2

3int

main()

4

view code

如果包含了windows.h,就不用寫_text了,使用text

MFC介面程式設計基礎(04) Windows字符集

mfc中的text巨集可以自動適應字元型別,如果定義了預處理器程式符號 unicode,那麼編譯器將使用unicode字元,如果沒用定義該預處理器程式符號,那麼編譯器將使用ansi字元。使用text巨集修飾字串常量就足以使乙個應用程式完全不關心其字符集嗎?回答是並不一定,我們還需要做以下操作 字符集...

程式設計心得04

看 多看看,多點閱歷,多點想法。可以說大部分的資訊都是靠視覺來獲得。看別人的東西,對或是不對,一眼得知!寫 把輸入的資訊進行輸出,只有輸出了,才能判別我們獲取的方式是否有效。只有輸出,才能讓他人提出點意見。多動點指頭,把我們的思路表達出來。否則,無論我們輸入多少資訊,如果沒有產出,那就是無用的。聽 ...

物件導向程式設計04

內建函式issubclass 用於判斷類物件與類物件之間的關係。內建函式isinstance 用於判斷例項物件與類物件之間的關係。內建函式issubclass接收兩個實參,第乙個實參是類物件,第二個實參是類物件或由類物件組成的元組。當第二個實參是類物件時,如果第乙個實參是第二個實參的子類,那麼返回t...