L表示long指針, 這是爲了兼容Windows 3.1等16位操作系統遺留下來的, 在win32中以及其他的32爲操作系統中, long指針和near指針及far修飾符都是爲了兼容的作用。沒有實際意義。
P表示這是一個指針
C表示是一個常量
T在Win32環境中, 有一個_T宏, 這個宏用來表示你的字符是否使用UNICODE, 如果你的程序定義了UNICODE或者其他相關的宏, 那麼這個字符或者字符串將被作爲UNICODE字符串, 否則就是標準的ANSI字符串。
STR表示這個變量是一個字符串。
所以LPCTSTR就表示一個指向常固定地址的可以根據一些宏定義改變語義的字符串, 在程序中我們大部分時間要使用帶T的類型定義。
LPCTSTR == const TCHAR *
而TCHAR是一種字符類型,使用UNICODE時,TCHAR是wchar_t
- #ifdef UNICODE
- typedef wchar_t TCHAR;
- #else
- typedef char TCHAR;
- #endif