_T是在其后为多字节字符串时进行转换。
依耐于你的程序的字符集
当是UNICODE时会把后面的字符串转换成Unicode字符串
MBCS和SCBS不产生影响
_T("OK"),_T()是一个宏,用于程序在处理字符串时与unicode(2bytes字符集)兼容。
_T宏:
如果定义了UNICODE,则按照宽字符保存,
如果没有定义,则_T("OK")就是"OK"
在WIDNOWS程序中,"OK"表示ANSI字符,_L"OK"表示Unicode字符。为了便于通用,MS定义了_T()宏。如果你的程序中定义了(#define _UNICODE),_T("XXX")就是_L"XXX",无定义的话,就是"XXX",这是为了通用性的考虑。
在WINDOWS下,很多函数也是宏,如内核字符串函数,StrCmp,就是宏,定义了Unicode,它展开来是 StrCmpW,无定义,为StrCmpA.而在C语言的运行库中,也有类似的定义,你需要定义#define UNICODE。
_T()将字符转换成UNICODE
本文深入探讨了_T宏在Windows程序中如何处理多字节字符串,将其转换为Unicode字符串,适用于不同字符集环境。通过定义UNICODE,程序能够实现跨字符集的兼容性,确保字符串操作的正确性和通用性。
288

被折叠的 条评论
为什么被折叠?



