c++ - QStringList.indexOf() 没有返回正确的值

标签 c++ qt

我在文件中有一行是这样的:

DEF PatientLoadView Group {

我正在尝试解析文件以获取上一行中单词“DEF”之后的单词。 我正在尝试使用 string.split() 查找拆分行,然后使用 QStringList 类的 indexOf 函数查找“DEF”的索引,然后获取它旁边的单词。但是 indexOf 函数为这一行返回 -1。对于其他此类行,它返回正确的值。可能是什么问题呢? 我的代码如下:

QString line = in.readLine();
if(line.contains("DEF"))
{
    QStringList lineSplit = line.split(" ");
    int index = lineSplit.indexOf("DEF",0);
    QString nodeName = lineSplit[index+1];

最佳答案

确保 line 中的 DEF 字符之前没有任何内容。

尤其要确保没有“\n”或其他控制字符。

关于c++ - QStringList.indexOf() 没有返回正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12667664/

相关文章:

c++ - MySQL与Qt远程连接

c++ - Qt debian/ubuntu : Can't compile, 错误:找不到-lGL

windows - 缺少注册表 HKLM\SOFTWARE\Microsoft\VisualStudio\SxS\VS7

c++ - 类内静态成员变量赋值

c++ - 用于类似区域/竞技场分配的 STL 容器

C++ 在结构定义中初始化一个 vector

c++ - SQL Server native 客户端 API 示例

c++ - 关于 C++ 中内存排序的示例

添加或删除模型中的项目时,Qt QML 通知 ListView

c++ - QAbstractListModel dataChanged 信号不更新 ListView (QML)