gpt4 book ai didi

c++ - QSettings:如何从 INI 文件中读取数组

转载 作者:行者123 更新时间:2023-11-30 01:47:03 26 4
gpt4 key购买 nike

我想从 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com