从Qt文件中读取整数

Reading integers from files in Qt

本文关键字:读取 整数 文件 Qt      更新时间:2023-10-16

我有一个文本文件,其中有许多行,如下所示:

1,1
2
7,7
11,11
13,13
0,0

我想使用Qt提供的文本文件系统,将每个整数赋值给一个变量。我想过阅读每一行,然后使用QString::split(),但我认为有更简单的方法来做到这一点。

使用QFile::readAll,在构造函数中将其传递给QString,将其拆分为QStringList,并使用toInt函数遍历它

编辑以更好地满足您的目的,这是一个简单的控制台测试应用程序(我假设,只有数字2的行是错误的,每行应该至少有两个数字)。

main.cpp :

QFile f("file.txt");
f.open(QIODevice::ReadOnly);
foreach (QString i,QString(f.readAll()).split(QRegExp("[rn]"),QString::SkipEmptyParts)){
    QPoint pos;
    pos.setX(i.section(",",0,0).toInt());
    pos.setY(i.section(",",1,1).toInt());
    // draw something here, pos holds your coords in x as first valur and in y second (pos.x(), pos.y() )
    qDebug()<<pos;
}
f.close();

你的坐标将保持QPoint的位置,它将有一行坐标在一个时间,所以你可以画点或做任何你想要的。file.txt应该在一个二进制文件的目录,或者你可以改变,因为它适合你。