找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4697|回复: 4

[通用编程] VS08 C2664 Cannot convert char* to LPCWSTR

[复制链接]
发表于 2010-9-4 19:23:15 | 显示全部楼层 |阅读模式
如题目

MessageBox(NULL,hge->System_GetErrorMessage(),"Error",XXXXX)

"Error" 改成 TEXT("Error")这样就可以了

第二个参数hge->System_GetErrorMessage()该怎么改啊??

或者是有什么别的办法啊?
发表于 2010-9-4 20:44:32 | 显示全部楼层
1.直接用MessageBoxA。
2.去hge源文件中,把ystem_GetErrorMessage中的关于char的处理全改成wchar的。
3.vc工程不再默认用unicode方式编译。
4.调用winapi如MultiByteToWideChar把ansi转码为unicode。
 楼主| 发表于 2010-9-4 23:02:55 | 显示全部楼层
谢谢谢谢!
发表于 2010-9-5 08:03:57 | 显示全部楼层
总是晚来一步呢^-^
发表于 2010-9-27 23:24:15 | 显示全部楼层
在字符串前面加上L 就能把LPSTR变成LPWSTR了
比如 "Hello, world!" => L"Hello, world!"

还有就是VC中的方法一般都有两种
  1. FunctionW();
  2. FunctionA();
  3. #ifdef UNICODE
  4. #define Function() FunctionW()
  5. #else
  6. #define Function() FunctionA()
  7. #endif
复制代码
貌似来晚了,但我这是最直接,也最方便的方法 -_,-
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|幻想森林

GMT+8, 2026-10-30 20:23 , Processed in 0.010608 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表