「已注销」 2023-03-07 06:09 采纳率: 71.4%
浏览 26
已结题

QT文件读取QT文件读取

img


1 2 3 4
2 3 4 5
2 3 4 5

QT读取这种文件 里面的行分割后的大小就是要创建QList的个数
想做成
QList strList;
QString list1 :1, 2, 2;
QString list2 :2,3,3;
QStringList3 :4,5,5;
strList :list1, list2,list3;

文件中每一行分割后的数量是相同的,但具体是多少可以不确定。
怎么添加?

  • 写回答

3条回答 默认 最新

  • MarkHan_ 2023-03-07 06:16
    关注

    该回答引用GPTᴼᴾᴱᴺᴬᴵ
    您可以使用QFile和QTextStream来读取文件并逐行处理。可以在读取每行时将其分割为QStringList并将其添加到一个QList中。

    以下是示例代码:

    QFile file("your_file_path");
    if(!file.open(QIODevice::ReadOnly | QIODevice::Text))
    {
        qDebug() << "Failed to open file";
        return;
    }
    
    QList<QStringList> strList;
    QTextStream in(&file);
    
    while(!in.atEnd())
    {
        QString line = in.readLine();
        QStringList parts = line.split(" "); // or any other delimiter
    
        strList.append(parts);
    }
    
    file.close();
    
    
    

    现在,您可以使用strList中的数据来创建所需的QStringList。例如,为了创建名为list1、list2和list3的QStringList,您可以使用以下代码:

    QStringList list1;
    QStringList list2;
    QStringList list3;
    
    for(int i = 0; i < strList.size(); i++)
    {
        list1.append(strList[i][0]);
        list2.append(strList[i][1]);
        list3.append(strList[i][2]);
    }
    
    
    

    最后,您可以将这些QStringList添加到一个QList中:

    QList<QStringList> finalList;
    finalList.append(list1);
    finalList.append(list2);
    finalList.append(list3);
    
    
    

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    「已注销」 2023-03-07 06:22

    可是读取文件时我是不知道有几列的,不能直接创建 list1, list2 list3

    回复
    「已注销」 2023-03-07 06:25

    可是创建QStringLIst的时候我是不知道文件里有几列,没办法手动创建 list1,list2, list3

    回复
查看更多回答(2条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 3月24日
  • 已采纳回答 3月17日
  • 创建了问题 3月7日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部