使用CFileDialog时选择文件类型下拉框里有乱码是什么原因?该如何处理
使用CFileDialog时选择文件类型下拉框里有乱码是什么原因?
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);
------解决方案--------------------
static char BASED_CODE szFilter[]= "xml Files(*.xml)|*.xml|| ";试试
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);
------解决方案--------------------
static char BASED_CODE szFilter[]= "xml Files(*.xml)|*.xml|| ";试试