我有一个文本文件,有许多行如下所示:
1,1
2
7,7
11,11
13,13
0,0
我希望使用Qt提供的文本文件系统,将每个整数赋值给一个变量。我考虑过阅读每一行,然后使用QString::split()
,但我认为有更容易的方法来做到这一点。
发布于 2013-05-24 22:55:07
使用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
应该在一个二进制文件的dir中,或者您可以根据需要进行更改。
https://stackoverflow.com/questions/16744462
复制相似问题