多字节字符集改为Unicode字符集遇到的问题及解决方法

在Character Set这里通常有两种选择:一是Use Unicode Character Set ,另一种是Use Multi-Byte Character Set,一般情况下,比较偏向Use Multi-Byte Character Set ,但是当使用中文对话框的时候,Use Multi-Byte Character Set往往会出现“???”的情况,这时候该怎么处理呢?

我的第一想法就是Use Unicode  Character Set ,但是因为Unicode和ANSI的原因,在Use Multi-Byte Character Set时正确的代码,在Use Unicode Character Set时会出现一些错误,这里,经过和论坛里一些朋友的讨论,我整理出了以下内容,希望能够帮助到有需要的朋友!!

遇到的问题及相应的解决方法大致可以分为两类:

1、代码中原来用"……"的地方,改为_T("……") 

如:"*.bmp" 改为 _T("*.bmp")

这里注意不要有遗漏!!!

2、Error:no suitable conversion function from "CString" to "const char *" exists

如:CString filePath;

src=cvLoadImage(filePath);

改为

src = cvLoadImage(CW2A((LPCTSTR)filePath));

我的代码错误及改正:

1、cannot convert parameter XX from 'const char [1]' to 'LPCTSTR'

解决方法:parameter XX 代码中原来用"……"的地方,改为用_T("……") 

2、cannot convert from 'char [11]' to 'LPCWS

解决方法:数据类型改为CString,去掉[ ] , 原来用"……"的地方,改为用_T("……") 

如:char title[]= {"Open Image"};改为CString title= _T("Open Image");

3、cannot convert parameter 1 from 'CString' to 'const char *'

解决方法:src = cvLoadImage(filePath); 改为 src = cvLoadImage(CW2A((LPCTSTR)filePath));

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值