转载:http://blog.sina.com.cn/s/blog_6d0cbb030101a3cs.html

问题描述:
    之前用VC6.0写过一个OpenGL的程序,后来需要将其放到VS2008下边进行修改,但是遇到了一系列奇怪的问题,刚开始报告错误说不能从不能将参数从“const char [*]”转换为“LPCWSTR”,想着可能是数据类型的问题吧,于是便手动对所有出错的地方进行强制类型转换,最后F5调试,代码编译通过,但是运行的时候发现程序无法加载位图而导致程序退出,弹出的警告框也是乱码(应该是中文)。
问题关键:
    后来上网查了下,VC6.0与VS2008默认使用的字符集不同。在VC6中,默认使用MBCS编码,即多字节字符集;而VC7、VC8以及VS默认的都是Unicode编码,所以字符集的不同导致相同的代码不一定都一样能够正常运行。
问题解决:
    知道问题所在就好办了,直接设置就行了:
    打开项目后,点击菜单栏“项目-项目属性”,在新打开的属性窗口中设置字符集为“使用多字节字符集”,最后确定即可。

VC6.0代码移植到VS2008运行时乱码问题解决
 
VC6.0代码移植到VS2008运行时乱码问题解决
PS:从VC6.0移植到VS2008的时候,首先要设置 字符集,不要像楼主一样,先强制类型转换,再修改字符集,最后发现丫的不需要类型转换,最后还得把代码改回来。还有就是傻逼的楼主曾经为了代码跑起来,在 64位windows下装VC6.0失败之后还专门装个虚拟机再装VC6.0,然后再搭环境,人一傻逼,上帝也阻止不了!

相关文章:

  • 2021-04-06
  • 2021-12-01
  • 2021-10-26
  • 2021-09-20
  • 2022-01-18
  • 2021-07-18
  • 2021-10-20
  • 2021-06-05
猜你喜欢
  • 2022-01-17
  • 2022-12-23
  • 2021-12-28
  • 2022-12-23
  • 2021-10-29
  • 2021-11-09
  • 2021-07-22
相关资源
相似解决方案