vs2005后的版本为什么会加这一项呢,原因是(http://msdn.microsoft.com/en-us/library/ey142t48(v=vs.80).aspx):
翻译过来就是为了兼容各个国家的文字.比如日文,中文.mfc采用了unicode,与Multibyte Character Sets (MBCS)两种文字编码方式.
现在xp后版本全是采用的unicode编码 .也是因为文字的原因.为了统一..
具体这两种编码方式是个啥情况呢,如下(http://msdn.microsoft.com/en-us/library/ey142t48(v=vs.80).aspx#_core_mfc_support_for_mbcs_strings):
采用MBCS编码,字符可以是动态的,可以是一个字节也可以是两个字节.但最终你所有的代码都会转为unicode进行编译.
采用单字节的字符会映射为双字节的unicode
当你用 _T() 这个宏的时候.所以为了不必要的麻烦.你要是在中国.最好还是选择UNICODE的编码方式.在程序里做一些改变
TCHAR 替换 char.
LPTSTR 替换 char*.
LPCTSTR 替换 const char*.
对应的数据类型
1、对于ANSI字符定义为char。
2、对于Unicode的字符定义为wchar_t。