读书人

m_strName=quot;quot;和m_strName=_T(quot;quot;)有什么

发布时间: 2012-02-01 16:58:19 作者: rapoo

m_strName=""和m_strName=_T("")有什么区别?
m_strName= " "和m_strName=_T( " ")有什么区别?

_T() 有什么作用?

[解决办法]
具体作用看_T宏。
在UNICODE下表示宽字节,在MBCS下表示多字节
[解决办法]
// in tchar.h

#ifdef _UNICODE
#define __T(x) L ## x
#else /* ndef _UNICODE */
#define __T(x) x
#endif

#define _T(x) __T(x)

L的意思是使用宽字节字符,也就是unicode. for example L "Text ".
[解决办法]
在asc编码下没有区别
在unicode方式下,_T( "A ")宏会把字符串转换为L "A "
L的作用就是强制把字符A由一个字节转换为2个字节。
[解决办法]
在_T()里边的都是宽字节字符,否则不是

读书人网 >VC/MFC

热点推荐