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 22:21
ywlzh 发表于 2018-6-12 10:58
自己外部直接操作ini文件,输完键值还偏偏带个符号,还怪起程序了。

这种情况程序给你个空值就很不错了 ...

确实,我这边是直接外部写入键值。 你的意思是,外部写入时,带了因英文的逗号就会造成读取错误? 有没有官方一些的资料参考下哈,因为我试了带其他符号是可以被正确读出来的。

一周热门 更多>