T巨集的使用

2022-08-09 08:30:14 字數 825 閱讀 7757

他的作用是讓你的程式支援unicode編碼,

因為windows使用兩種字符集ansi和unicode,

前者就是通常使用的單位元組方式,

但這種方式處理像中文這樣的雙位元組字元不方便,

容易出現半個漢字的情況。

而後者是雙位元組方式,方便處理雙位元組字元。

windows nt的所有與字元有關的函式都提供兩種方式的版本,而windows 9x只支援ansi方式。

如果編譯乙個程式為unicode方式,則編譯器會把"hello"字串以unicode方式儲存。_t和_l的區別在於,_l不管你是以什麼方式編譯,一律以unicode方式儲存。

lpstr:32bit指標指向乙個字串,每個字元佔1位元組

lpcstr:32-bit指標指向乙個常字串,每個字元佔1位元組

lpctstr:32-bit指標指向乙個常字串,每字元可能佔1位元組或2位元組,取決於unicode是否定義

lptstr:32-bit指標每字元可能佔1位元組或2位元組,取決於unicode是否定義

l是表示字串資源為unicode的。

比如wchar_tstr = l"hello world!";

這個就是雙位元組儲存字元了。

_t是乙個適配的巨集~

當#ifdef _unicode的時候

_t就是l

沒有#ifdef _unicode的時候

_t就是ansi的。

t是非常有意思的乙個符號(tchar、lpctstr、lptstr、_t()、_text()...),它表示使用一種中間型別,既不明確表示使用 mbcs,也不明確表示使用 unicode。那到底使用哪種字符集?編譯的時候才決定

MFC中的L和 T巨集

問 define abc l abc l 巨集是幹什麼用的,和unicode相關嗎?如果這樣,這和 define abc t abc 有分別嗎?答 l表示unicode串,比如wchar t str l yangsongx t在ansi編譯模式下表示ansi串,在unicode下表示unicode串...

MFC 中L 和 T 巨集

t 是乙個巨集,定義在tchar.h下 define t x t x define t x x define t x l x tchar p t hello 他的作用是讓你的程式支援unicode編碼 因為windows使用 兩種字符集 ansi 和 unicode 前者就是通常使用的單位元組方式 ...

c 巨集的使用

習慣上,巨集定義的最後一句話,不加 這樣的話,我們在使用巨集的時候就需要在後面加上 與一般的c 語法一致 1 有一些類我們不允許copy and assign,在這種情況下,我們可以使用巨集來解決這個問題 一般方法 這是在.h檔案的巨集定義,在特定的類宣告中,加入巨集即可 define disabl...