首页 热点资讯 义务教育 高等教育 出国留学 考研考公

C++那个message问题你是怎么解决的

发布网友 发布时间:2天前

我来回答

5个回答

热心网友 时间:3分钟前

VS2005之后,默认的是Unicode的,而在VC++6.0中默认是ANSI字符集,因此在VC下通过的程序,在vs中就会出现这个问题。解决的办法有两个:
1。用text()转换;
即如果定义了Unicode,标识字符为Unicode;否则,为ANSI字符集。
Syntax:

TEXT(
LPTSTR string
);

2。项目菜单——项目属性(最后一个)——配置属性——常规——项目默认值——字符集,将使用Unicode字符集改为未设置即可。

热心网友 时间:7分钟前

如果是MFC,就把程序里所有的 "abcd" 形式的字符串改成 _T("abcd")
如果不是,就先包含头文件tchar.h,再改。
你可以查一下msdn看看LPCWSTR是什么意思
另外,一般人应该调用的是MessageBox函数,而错误代码里显示的确是MessageBoxW,不觉得奇怪吗,也去看一下msdn吧

热心网友 时间:3分钟前

把你的第二个参数用CString(参数2)强制转换一下

热心网友 时间:8分钟前

是你的函数MessageBoxW()调用的时候,里面的第二个参数类型不一致早就的错误,需要先做一下类型转换把const char类型转换为LPCWSTR类型,也可以在传入的时候强制转换,即在MessageBoxW()里面的第二个参数前面加(LPCWSTR)。

热心网友 时间:5分钟前

没那么麻烦
char ch[27]="abc";
MessageBox(ch);

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com