C語(yǔ)言中字符和字符串處理(ANSI字符和Unicode字符)
我們知道,C語(yǔ)言用char數(shù)據(jù)類型表示一個(gè)8位的ANSI字符,默認(rèn)在代碼中聲明一個(gè)字符串時(shí),C編譯器會(huì)把字符串中的字符轉(zhuǎn)換成由8位char數(shù)據(jù)類型構(gòu)成的一個(gè)數(shù)組:
// An 8-bit character
char c = 'A';
// An array of 99 8-bit character and 8-bit terminating zero
char szBuffer[100] = "A String";
Microsoft的C/C++編譯器定義了一個(gè)內(nèi)建的數(shù)據(jù)類型wchar_t,它表示一個(gè)16位的Unicode(UTF-16)字符。編譯器只有指定了/Zc:wchar_t編譯器開關(guān)時(shí),才會(huì)定義這個(gè)參數(shù)類型。
聲明Unicode字符和字符串的方法如下:
// A 16-bit character
wchar_t c= L'A';
// An array up to 99 16-bit characters and a 16-bit terminating zero
wchar_t szBuffer[100] = L"A String";
字符串之前的大寫字母L通知編譯器該字符串應(yīng)該編譯一個(gè)Unicode字符串。
另外,在編寫代碼的時(shí)候,可以使用ANSI或Unicode字符/字符串使其能通過(guò)編譯。WinNT.h定義了以下類型和宏:
#ifdef UNICODE
typedef WCHAR TCHAR, *PTCHAR, PTSTR;
typedef CONST WCHAR *PCTSTR;
#define __TEXT(quote) L##quote
#else
typedef CHAR TCHAR, *PTCHAR, PTSTR;
typedef CONST CHAR *PCTSTR;
#define __TEXT(quote) quote
#endif
#define TEXT(quote) __TEXT(quote)
利用這些類型和宏來(lái)寫代碼,無(wú)論使用ANSI還是Unicode字符,都能通過(guò)編譯,如下所示:
// If UNICODE define, a 16-bit character; else an 8-bit character
TCHAR c = TEXT('A');
// If UNICODE define, an array of 16-bit character; else 8-bit character
TCHAR szBuffer[100] = TEXT("A String");
以上所述就是本文的全部Neri了,希望大家能夠喜歡。
相關(guān)文章
C++實(shí)現(xiàn)LeetCode(110.平衡二叉樹)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(110.平衡二叉樹),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07C++實(shí)踐數(shù)組類運(yùn)算的實(shí)現(xiàn)參考
今天小編就為大家分享一篇關(guān)于C++實(shí)踐數(shù)組類運(yùn)算的實(shí)現(xiàn)參考,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02用C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單五子棋小游戲
這篇文章主要為大家詳細(xì)介紹了用C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單五子棋小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07用C++類實(shí)現(xiàn)單向鏈表的增刪查和反轉(zhuǎn)操作方法
下面小編就為大家?guī)?lái)一篇用C++類實(shí)現(xiàn)單向鏈表的增刪查和反轉(zhuǎn)操作方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04華為機(jī)試題之統(tǒng)計(jì)單詞個(gè)數(shù)實(shí)例代碼
這篇文章主要介紹了華為機(jī)試題之統(tǒng)計(jì)單詞個(gè)數(shù)實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-05-05C語(yǔ)言實(shí)現(xiàn)紙牌游戲之小貓釣魚算法
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)紙牌游戲之小貓釣魚算法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01