TCHAR和char的區別

2022-09-08 12:06:09 字數 557 閱讀 6932

為c++支援兩種字串,即常規的ansi編碼(使用""包裹)和unicode編碼(使用l""包裹),這樣對應的就有了兩套字串字串處理函式,比如:strlen和wstrlen,

分別用於處理兩種字串   微軟將這兩套字符集及其操作進行了統一,通過條件編譯(通過_unicode和unicode巨集)控制實際使用的字符集,這樣就有了_t("")這樣的字串,

對應的就有了_tcslen這樣的函式   為了儲存這樣的通用字元,就有了tchar:   當沒有定義_unicode巨集時,tchar = char,_tcslen = strlen  

當定義了_unicode巨集時,tchar = wchar_t , _tcslen = wstrlen   當我們定義了unicode巨集,就相當於告訴了編譯器:我準備採用unicode版本。這個時候,

tchar就會搖身一變,變成了wchar_t。而未定義unicode巨集時,tchar搖身一變,變成了unsigned char 。這樣就可以很好的切換寬窄字符集。   tchar可用於雙位元組字串,

使程式可以用於中日韓等國 語言文字處理、顯示。使程式設計方法簡化。

TCHAR和CHAR型別的互轉

沒有定義unicode,所以它裡面的字串就是簡單用 就行了,建立工程的時候包含了unicode定義,就必須對tchar和char進行轉換。void tchartochar const tchar tchar,char char void chartotchar const char char,tch...

char與tchar的互轉

沒有定義unicode,所以它裡面的字串就是簡單用 就行了,建立工程的時候包含了unicode定義,就必須對tchar和char進行轉換。首先是把tchar轉為char cpp view plain copy print 將tchar轉為char tchar是tchar型別指標,char是char型...

char 和char 的區別

1 char是乙個陣列定義,char 是指標定義 也稱char為靜態陣列,char 為動態陣列 2 指標和陣列的區別 1 指標和陣列的分配 陣列是開闢一塊連續的記憶體空間,陣列本身的識別符號 也就是通常所說的陣列名 代表整個陣列,可以使用sizeof來獲得陣列所佔據記憶體空間的大小 注意,不是陣列元...