使用CFileDialog时选择文件类型下拉框里有乱码是什么原因?

时间:2021-09-26 16:39:44
CFileDialog dlg(TRUE, "XML", "*.xml", OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, "xml Files(*.xml)|*.xml", NULL);
代码是按上面写的,选择文件类型时第一行正常,第二行是乱码,但是在我机器上没事(中文操作系统)在用户机器上就有乱码(英文操作系统).

我上网查了一下是不是缓冲溢出的原因呢,我做了修改但是还不敢确定是否正确,希望大家帮我确认一下后发给用户.
static char BASED_CODE szFilter[]= "xml Files(*.xml)|*.xml";

CFileDialog dlg(TRUE, "XML", "*.xml", OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, szFilter, NULL);

10 个解决方案

#1


我晕

#2


static char BASED_CODE szFilter[]= "xml Files(*.xml)|*.xml||";试试

#3


en。。。
同问
我也遇到这样的问题了

#4


esprite2000:我单位的操作系统下怎么用多没乱码,就是客户那有啊,没法测试啊

#5


不行啊。。
还是有乱吗

#6


用static char szFilter[] = ""
不是来解决乱码的问题吧。。
只是让文档能在view中始终显示的

#7


static char BASED_CODE szFilter[]= "xml Files(*.xml)|*.xml";
===========================
static char BASED_CODE szFilter[]= "xml Files(*.xml)|*.xml\0\0";试试

#8


不会啊。。
乱码。
但不影响编译的结果啊

#9


似乎可以了,加了||少了一行,多谢啊,给分

#10


啊。。
我的怎么没变化啊?
还是有行乱码/。。。。。
55555

#1


我晕

#2


static char BASED_CODE szFilter[]= "xml Files(*.xml)|*.xml||";试试

#3


en。。。
同问
我也遇到这样的问题了

#4


esprite2000:我单位的操作系统下怎么用多没乱码,就是客户那有啊,没法测试啊

#5


不行啊。。
还是有乱吗

#6


用static char szFilter[] = ""
不是来解决乱码的问题吧。。
只是让文档能在view中始终显示的

#7


static char BASED_CODE szFilter[]= "xml Files(*.xml)|*.xml";
===========================
static char BASED_CODE szFilter[]= "xml Files(*.xml)|*.xml\0\0";试试

#8


不会啊。。
乱码。
但不影响编译的结果啊

#9


似乎可以了,加了||少了一行,多谢啊,给分

#10


啊。。
我的怎么没变化啊?
还是有行乱码/。。。。。
55555