读书人

MFC程序在含有中文目录的情况上打不开

发布时间: 2012-11-09 10:18:48 作者: rapoo

MFC程序在含有中文目录的情况下打不开的问题
我的MFC程序中调用CDialog::Create()函数初始化子对话框,子对话框中要用到查找文件目录的函数,在没有中文目录的情况下程序可以正常打开,但是只要程序所在的目录中含有中文汉字时就不能打开,而且显示占用CPU还不小
求高人指点,在线急等,解决马上给分

[解决办法]
用Unicode字符串加载路径
[解决办法]

探讨
引用:

都修改了吧,最好使用Unicode编码


没有别的办法了吗?我原来的项目中都是使用多自己字符集的,要是这样改的话工程量太大了

[解决办法]
http://blog.csdn.net/zhoujielunzhimi/article/details/8082286
先把unicode转换为ascii,然后载比较,可行否?
[解决办法]
楼主你所说的情况,我前天也犯过,不过我错误的原因是主工程用了多字符。DLL却用了Unicode 编码。

楼主这个是DLL么??


另外contactDlg = new CcontactBooks(this->config);这个构造函数和Create函数先看看里面内容
[解决办法]
m_iPosIndex = m_FilePath.ReverseFind('\\');
类似这样的这么改试试:
m_iPosIndex = m_FilePath.ReverseFind(_T('\\'));
另外把字符串值赋给一个CString类型的变量,也就是如果你没赋给CString类型的变量,就再赋给CString类型变量,然后再把这个CString类型的值赋给相应的函数



[解决办法]
用Unicode字符串加载路径
[解决办法]
用_T,_TEXT,TEXT,任意一个宏即可,比如TEXT("测试用")

读书人网 >VC/MFC

热点推荐