源代码读取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与安卓论坛
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
修改成你说的也不行。情况是这样的,我屏蔽这一句,或者修改成其他格式,只要内容有英文的逗号在,读出的内容都是为空。
自己外部直接操作ini文件,输完键值还偏偏带个符号,还怪起程序了。
这种情况程序给你个空值就很不错了,没让你崩溃就得了吧。
细节的我不清楚,估计可能是非法字符。QT creater支持debug,你为什么不仿真打断点看下呢
确实,我这边是直接外部写入键值。 你的意思是,外部写入时,带了因英文的逗号就会造成读取错误? 有没有官方一些的资料参考下哈,因为我试了带其他符号是可以被正确读出来的。
谢谢建议,断点后,变量读取也是空,就是想知道根本原因。
一周热门 更多>