关于 visual studio(vs2005/vs2008/vs2010)中的Character Set

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*.


你可能感兴趣的:(XP,mfc,character,2010)