「T」在字符串中表示什麼?例如_T(「你好」),我在項目中看到了這其中的Unicode支持needed.What它實際上告訴處理器_T在CString中代表什麼
23
A
回答
20
_T
代表「text」。它會將您的文字轉換爲Unicode寬字符文字,當且僅當您使用Unicode支持編譯源文件時。見http://msdn.microsoft.com/en-us/library/c426s321.aspx。
10
從MSDN:
使用
_T
宏代碼一般文字串,因此它們可以編碼爲Unicode下的Unicode字符串或ANSI編碼的字符串(包括MBCS),而不使用Unicode
8
它實際上用於需要ANSI支持的Unicode 和的項目。它告訴編譯器根據預編譯器定義的值將字符串文字編譯爲Unicode或ANSI。
爲什麼你想這樣做是另一回事。如果你想支持Unicode本身,那麼只需編寫Unicode,在這種情況下,L"Hello"
。當需要支持Windows NT和更高版本(支持Unicode)和Windows 9x/ME(不支持)時,添加了_T()
宏。現在使用這些宏的代碼已經過時,因爲所有現代Windows版本都是基於Unicode的。
相關問題
- 1. typename語句中的_t(下劃線-t)代表什麼類?
- 2. 類型後跟_t(下劃線-t)代表什麼?
- 3. 在C中`size_t`的`_t`是什麼意思?
- 4. CString中的路徑有什麼問題?
- 5. ' - '在bash中代表什麼?
- 6. []在C#中代表什麼#
- 7. #在C++代碼中代表什麼?
- 8. CString'修剪':不是會員,爲什麼?
- 9. 字符串,CString,QString有什麼區別?
- 10. 在lex.yy.c查找表中代表什麼?
- 11. 爲什麼我無法在MFC中比較CString
- 12. []代表什麼?
- 13. Razor中的'_'代表什麼?
- 14. PyMethodDef中'ml'代表什麼?
- 15. LINQ中'1代表什麼?
- 16. _T()&& wcsstr工作
- 17. _T(「...」)和_RT(「...」)宏之間有什麼區別?
- 18. 爲什麼有一個定義_tmain的宏?
- 19. 在txt文件中代表什麼?
- 20. 在glibc中CSU代表什麼?
- 21. _doc在elasticsearch中代表什麼?
- 22. 在AJAX中爲什麼「X」代表XML
- 23. 在crx/de中代表什麼?
- 24. @ []在目標c中代表什麼?
- 25. ()在屬性定義中代表什麼?
- 26. 在SuiteScript中,'nl'代表nlapi等什麼?
- 27. Instruction.Offset在mono.cecil中代表什麼?
- 28. 在Python中,+ =, - =,* =和/ =代表什麼?
- 29. 「BufferSize」在log4j appender中代表什麼?
- 30. System類在java中代表什麼?
從技術上講,'_T()'僅用於C運行時庫,用於'_TCHAR'數據類型。 Win32等價物是用於'TCHAR'數據類型的'TEXT()'宏。根據在編譯過程中是否定義了_UNICODE和UNICODE,它們都映射到'char'或'wchar_t'。兩者通常都是一起定義/未定義的,所以很多人傾向於互相交流,而事情通常都是有效的。但他們在邏輯上是分開的,並且應該相應地處理。在C函數中使用'_TCHAR'和'_T()'。在Win32 API中使用'TCHAR'和'TEXT()'。 – 2015-10-13 18:48:46
@RemyLebeau:現在有個棘手的問題:使用MFC/ATL的'CString'類型的哪一個? 'CString'在CRT和Windows API方面都得到了實現。 – IInspectable 2017-03-02 17:25:24
根據文檔:「*** CString基於'TCHAR'數據類型**。*」,所以使用'TEXT()'。 – 2017-03-03 08:06:37