QT中,ini文件中的键值有英文逗号时,读取不出内容,这种情况是为什么?

2019-03-26 12:20发布

源代码读取ini格式文件:const QString A= file_name;QSettings *actionCodeIni = new QSettings(A, QSettings::IniFormat);actionCodeIni->setIniCodec(QTextCodec::codecForName("UTF-8"));actionCodeIni->beginGroup("B");tempKeyStr = actionCodeIni->value(QString::number(key)).toString();actionCodeIni->endGroup();经过上述代码调用,读取ini文件中key的键值是,如果key的键值内容包含了英文的逗号“,”时,
读取的tempKeyStr内容为空。(1)修改为中文的逗号“,”时,可以正常读出内容;(2)修改QTextCodec::codecForName("UTF-8")格式时,读出的内容为空(3)屏蔽QTextCodec::codecForName("UTF-8")时,读出的内容为空求助,这是什么情况?什么原因????
此帖出自Linux与安卓论坛
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
a6591987
2019-03-26 15:33
RCSN 发表于 2018-6-11 14:06
你的ini文件是什么编码的,是UTF-8编码嘛?如果不是就不要用的QTextCodec::codecForName("UTF-8")。把这个 ...

修改成你说的也不行。情况是这样的,我屏蔽这一句,或者修改成其他格式,只要内容有英文的逗号在,读出的内容都是为空。

一周热门 更多>