** 环境**:英文操作系统,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文件字符串,中文不乱码?或如何才能获取正常的多字节中文字符串?!
库存没有金币,欲哭无泪啊,虚心求教!!恳请高手指教!