我有一个文本文件,其中有很多行是这样的:
1,1
2
7,7
11,11
13,13
0,0
我想使用 Qt 提供的文本文件系统获取每个整数并将其分配给一个变量。我考虑过阅读每一行,然后使用QString::split()
,但我认为有更简单的方法可以做到这一点。
使用 QFile::readAll,将其传递给构造函数中的 QString,将其拆分为 QStringList,并使用 toInt 函数对其进行迭代。
经过编辑以更好地满足您的目的,这是一个简单的控制台测试应用程序(我会假设,只有数字的那一行2
是一个错误,每行至少应该有两个数字)。
主.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
应该在带有二进制文件的目录中,或者您可以根据需要进行更改。