首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

m_strName=""和m_strName=_T("")有什么区别?解决办法

2012-02-01 
m_strName和m_strName_T()有什么区别?m_strName 和m_strName_T( )有什么区别?_T()有什么作

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()里边的都是宽字节字符,否则不是

热点排行