月弦断歌 2018-10-29 13:14 采纳率: 33.3%
浏览 1898

英文操作系统中,MFC读取ini文件字符串,中文乱码!!?求助求助!

** 环境**:英文操作系统,win7-x64, vs2012,;

** 程序**:多字节的MFC,32位;

文件:要读取的ini文件是Ansi编译环境的;

** 想实现的目标**:GetPrivateProfileString读取ini文件中的中文字符串;
具体代码如下
GetPrivateProfileString( "SystemConfig", "CurProductFile", "", str.GetBuffer( 256 ), 256, path );

要读取的INI文件中的内容
[SystemConfig]
CurProductFile=G:\我的文档\MyProject\Debug\ProductFiles\PCB1.dat

结果问题!!:实际读取到的字符串结果str中,中文是乱码的!
乱码内容如下

str = "G:\ÎÒµÄÎĵµ\MyProject\Debug\ProductFiles\PCB1.dat"

中文都乱码了!崩溃了!

提示:我尝试将str从Ansi转Unicode,vs中显示中文正确!!!why?

CStringW strW;
…… str 到 strW 的转化操作……
strW = L"G:\我的文档\MyProject\Debug\ProductFiles\PCB1.dat"

环境语言设置:已经将控制面板中的语言设置成中文支持的格式:如下图

图片说明
图片说明
图片说明

提问:如何才能在英文操作系统中,多字节MFC程序中读取ini文件字符串,中文不乱码?或如何才能获取正常的多字节中文字符串?!

库存没有金币,欲哭无泪啊,虚心求教!!恳请高手指教!

  • 写回答

3条回答 默认 最新

  • threenewbee 2018-10-29 13:18
    关注

    现在回答问题,都是没有采纳的,这里有个类似的问题,你将就看看吧。https://ask.csdn.net/questions/701696
    如果要完整解答你的问题,请先采纳,网盘上传你的ini文件(以及你的代码,如果有的话,用zip压缩成一个文件),我帮你看。

    评论

报告相同问题?

悬赏问题

  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码