转载自http://blog.163.com/xin_qing2010/blog/static/1777373582011530102750463/
外面用vs2010编写mfc程序的时候经常要MessageBox("提示信息")函数,在vc6.0是没有问题的,但是在vs2005却会有下面的提示:
error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [17]”转换为“LPCTSTR”
这个错误提示的原因是VS2005默认使用的是UNICODE字符集,在参数转换时会出错
解决方法很简单。
方法一:
MessageBox(_T"你已经提交成功。");
即在参数前加上_T
方法二:
在新建项目时,把使用UNICODE字符集取消,如下图:
方法三:
选择“项目”-》“XXX项目属性”-》“配置属性”-》“常规”选项中,把“字符集”改为“使用多字节字符集”,然后确定。如下图:
本文介绍了在使用VS2005编写MFC程序时,遇到MessageBox函数参数转换错误的问题。主要原因是VS2005默认使用UNICODE字符集,导致常量字符串无法直接传递给CWnd::MessageBoxW函数。提供了三种解决方案:在参数前使用_T宏,新建项目时不启用UNICODE字符集,或者在项目属性中修改字符集为多字节字符集。
6878

被折叠的 条评论
为什么被折叠?



