1

我正在尝试读取 CSV 文件。我的代码如下。我遇到的问题是文件的第一行按预期读入,但是一旦再次达到 while 循环条件 File.atEnd 返回 true。我已经尝试了几个文件,其中一些非常大,但它仍然只读取 CSV 文件的第一行。我已经使用了调试器,但找不到原因。运行 Win7 Pro(64 位)Qt v5.0.1(32 位)QDesigner v2.6.2。

更新:如果我有一个包含很多列的 CSV 文件,那么它似乎可以解决。

QFile File(strFileName);
File.open(QIODevice::ReadOnly | QIODevice::Text);

QTextStream FileStream(&File);

while( !File.atEnd() )
{
    QString strLine = FileStream.readLine();
    //Do some code here
}

File.close();

CSV 文件示例:

1,10,20
2,20,30
3,30,40
4

1 回答 1

0

尝试改变

while( !File.atEnd() )

while( !FileStream.atEnd() )
于 2014-02-19T12:53:07.917 回答