为什么“CWnd::MessageBoxW”: 不能将参数 1 从“char [100]”转换为“LPCTSTR”
展开全部
因为你的工程环境是unicode环境,是宽字符(wchar_t),而char是ASCII,所以字符编码不符合
LPCTSTR:
LP:long point 长指针
C:const常量
T:UNICODE下就是W(wide)表示宽的意思,多字节环境下就是A(ascii)
STR:string字符串
解决方法:
1、改变你工程的属性:unicode->多字节
详细:项目菜单->项目属性(最下一列菜单)->配置属性->常规:有个字符集属性,将unicode改成多字节(VS2013版本)
2、使用MFC的CFILE读取,直接使用宽字符串操作比如CSTRING OR wchar_t
或者也可以先将char数组转换成wchar_t(或者CSTRING)
PS:好像第一种最简单,改个工程属性就行了
LPCTSTR:
LP:long point 长指针
C:const常量
T:UNICODE下就是W(wide)表示宽的意思,多字节环境下就是A(ascii)
STR:string字符串
解决方法:
1、改变你工程的属性:unicode->多字节
详细:项目菜单->项目属性(最下一列菜单)->配置属性->常规:有个字符集属性,将unicode改成多字节(VS2013版本)
2、使用MFC的CFILE读取,直接使用宽字符串操作比如CSTRING OR wchar_t
或者也可以先将char数组转换成wchar_t(或者CSTRING)
PS:好像第一种最简单,改个工程属性就行了
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询