日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【转】TCHAR

發(fā)布時間:2024/6/18 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】TCHAR 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

TCHAR 就是當你的字符設(shè)置為什么就是什么
例如:

當程序編譯為 ? ?ANSI, ? ?TCHAR 相當于 CHAR
當程序編譯為 UNICODE, TCHAR 相當于WCHAR

char ? ? ? : 單字節(jié)變量類型,最多表示256個字符

wchar_t : 寬字節(jié)變量類型,用于表示Unicode字符

它實際定義在<string.h>里:typedef unsigned short wchar_t。

為了讓編譯器識別Unicode字符串,必須以在前面加一個“L”,定義寬字節(jié)類型方法如下:

? ?wchar_t c = `A' ;?
wchar_t * p = L"Hello!" ;?
wchar_t a[] = L"Hello!" ;

其中,寬字節(jié)類型每個變量占用2個字節(jié),故上述數(shù)組a的sizeof(a) = 14

TCHAR / _T( ) :?
如果在程序中既包括ANSI又包括Unicode編碼,需要包括頭文件tchar.h。

TCHAR是定義在該頭文件中的宏,它視你是否定義了_UNICODE宏而定義成:?
定義了_UNICODE:??? typedef wchar_t TCHAR ;?
沒有定義_UNICODE: typedef char TCHAR ;

#ifdef UNICODE?
typedef char TCHAR;?
#else?
typede wchar_t TCHAR;?
#endif?
_T( )也是定義在該頭文件中的宏,視是否定義了_UNICODE宏而定義成
定義了_UNICODE:??? #define _T(x) L##x?
沒有定義_UNICODE: #define _T(x) x?
注意:如果在程序中使用了TCHAR,那么就不應(yīng)該使用ANSI的strXXX函數(shù)或者Unicode的wcsXXX函數(shù)了,而必須使用tchar.h中定義的_tcsXXX函數(shù)

?

一、 在字符串前加一個L作用:?
?? 如? L"我的字符串"??? 表示將ANSI字符串轉(zhuǎn)換成unicode的字符串,就是每個字符占用兩個字節(jié)。?
? strlen("asd")?? =?? 3;???
? strlen(L"asd")?? =?? 6;?
? 二、? _T宏可以把一個引號引起來的字符串,根據(jù)你的環(huán)境設(shè)置,使得編譯器會根據(jù)編譯目標環(huán)境選擇合適的(Unicode還是ANSI)字符處理方式?
?? 如果你定義了UNICODE,那么_T宏會把字符串前面加一個L。這時 _T("ABCD") 相當于 L"ABCD" ,這是寬字符串。?
?? 如果沒有定義,那么_T宏不會在字符串前面加那個L,_T("ABCD") 就等價于 "ABCD"?
三、TEXT,_TEXT 和_T 一樣的?
如下面三語句:???
? TCHAR?? szStr1[]?? =?? TEXT("str1");???
? char?? szStr2[]?? =?? "str2";???
? WCHAR?? szStr3[]?? =?? L("str3");???
? 那么第一句話在定義了UNICODE時會解釋為第三句話,沒有定義時就等于第二句話。???
? 但二句話無論是否定義了UNICODE都是生成一個ANSI字符串,而第三句話總是生成UNICODE字符串。???
? 為了程序的可移植性,建議都用第一種表示方法。???
? 但在某些情況下,某個字符必須為ANSI或UNICODE,那就用后兩種方法。

轉(zhuǎn)載于:https://www.cnblogs.com/xiongyunqi/p/4389063.html

總結(jié)

以上是生活随笔為你收集整理的【转】TCHAR的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。