VC6.0代码移植到VS2008运行时乱码问题解决

本文记录了将使用VC6.0编写的OpenGL程序移植到VS2008过程中遇到的问题及解决方案,特别是字符集不一致导致的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载: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编码,所以字符集的不同导致相同的代码不一定都一样能够正常运行。
问题解决:
    知道问题所在就好办了,直接设置就行了:
    打开项目后,点击菜单栏“项目-项目属性”,在新打开的属性窗口中设置字符集为“使用多字节字符集”,最后确定即可。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值