从Qt中的文件中读取整数

时间:2013-05-24 22:27:34

标签: c++ file qt text

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

1,1
2
7,7
11,11

13,13

0,0

我想使用Qt提供的文本文件系统获取每个整数并将其分配给变量。我已经考虑过阅读每一行,然后使用QString::split(),但我认为有更简单的方法可以做到这一点。

1 个答案:

答案 0 :(得分:1)

使用QFile :: readAll,将其传递给构造函数中的QString,将其拆分为QStringList,并使用toInt函数迭代它。

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

<强>的main.cpp

QFile f("file.txt");
f.open(QIODevice::ReadOnly);
foreach (QString i,QString(f.readAll()).split(QRegExp("[\r\n]"),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 pos,它一次会有一行坐标,所以你可以用它们绘制积分或做任何你想做的事情。 file.txt应该在带有二进制文件的目录中,或者您可以根据需要进行更改。