作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想从 INI 文件中读取逗号分隔的数据。我已经在这里阅读过:
...逗号被视为分隔符,QSettings 值函数将返回 QStringList。
但是,我在 INI 文件中的数据如下所示:
norm-factor=<<eof
1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0
eof
我不需要整个矩阵。所有连接在一起的行对我来说都足够公平。但是 QSettings 可以处理这样的结构吗?
我应该使用:
QStringList norms = ini->value("norm-factor", QStringList()).toStringList();
还是我必须用另一种方式解析它?
最佳答案
换行符是个问题,因为 INI 文件使用换行符作为它们自己的语法。Qt 似乎不支持您的续行类型(<<eol ... eol
)。
QSettings s("./inifile", QSettings::IniFormat);
qDebug() << s.value("norm-factor");
产量
QVariant(QString, "<<eof")
<<eol
expression 本身可能是无效的 INI。 ( Wikipedia on INI files )
我建议您手动解析文件。
关于c++ - QSettings:如何从 INI 文件中读取数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32183133/
我是一名优秀的程序员,十分优秀!