vc6.0,vs2003到vs2010字符集的问题

来源:互联网 发布:ubuntu fcitx输入法 编辑:程序博客网 时间:2024/06/05 22:41

VS2005/2008/2010在创建工程时,默认使用的是UNICODE工程。
而vs2003和vc6.0使用的“多字符集”(Multi-Byte Character Set)。

CString s;
s.Format(“count = %d”,count); 
     按经验这肯定不会有错误的,但是不好意思,编译错误,因为这是我的环境采用的Unicode字符集的,而我给CString的Format函数是“多字符集”(Multi-Byte)所以编译不通过,要知道在这种设置下使用MessageBox(“ddd”);编译是不会通过的,因为系统调用的是MessageBoxW,即Unicode宽字符集的那个函数。

     还好我根据编译器的提示把s.Format(“count = %d”,count);改成s.Format(_T(“count = %d”,count);就搞定了,_T代表一个宏,宏的意思就是把字符串转成宽字符表示。同样的,MessageBox(“ddd”);可以为MessageBox(_T(“ddd”)); 

     要想还像vc6.0和vs2003那样使用“多字符集”,就要更改vs2010的工程设置。工程右击->属性->常规->字符集选择使用多字节字符集。

原创粉丝点击