读书人

把一个int 变量的值用AfxMessageBox()

发布时间: 2012-09-18 16:21:42 作者: rapoo

把一个int 变量的值用AfxMessageBox()显示出来
int n = 10;
CString str;
str.Format( "%d ", n);
AfxMessageBox(str);
不能将参数 1 从“const char [4]”转换为“const wchar_t *”

[解决办法]
str.Format(_T("%d "), n);
字符编码的问题,楼主的编译环境应该是unicode。
可以修改为多字节编码,不过依旧建议在VC编程时,遇到字符串加上_T(),这样就没有太多的编码问题了。
[解决办法]
楼主用的是Unicode编码。
L"XXX"
_T("XXX")

这两种方法都可以满足楼主,前者是Unicode码制专用,后者是多字节和Unicode都可以,会自动判断,是个宏

修改字符集方法:
项目属性-》Character set-》多字节或者Unicode自己选择
[解决办法]
打开工程,项目-》项目属性)进入设置对话框,选择“配置属性-》常规”,在“项目默认值”中有一个字符集,选择为“使用多字节字符集”

读书人网 >VC/MFC

热点推荐