2013-04-07 1038 views
1

我試圖讀取CSV文件。我的代碼如下。我遇到的問題是文件的第一行被讀入,如預期的那樣,但是一旦while循環條件再次到達,File.atEnd返回true。我已經用幾個文件試過了,有些文件非常大,它仍然只讀取CSV文件的第一行。我已經介紹了調試器,並找不到原因如此。 (64位) Qt v5.0.1(32位) QDesigner v2.6.2。QFile.atEnd()返回TRUE太早

更新:如果我有一個有很多列的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 

回答

0

嘗試改變

while(!File.atEnd()) 

while(!FileStream.atEnd())