2015-11-05 183 views
2

我想從特定位置打開一個文件,它似乎找到正確的路徑,但我不明白爲什麼它總是跳過while循環。QT無法讀取文件

QString utm_file_loc = "C:\\Example\\test\\UTM_Zone.config"; 
QFile fileutm(utm_file_loc); 
QTextStream utm_in(&fileutm); 
QString value; 
while(!utm_in.atEnd()) 
{ 
    QString line = utm_in.readLine();    
    line.replace(" ", ""); 
    if((line.indexOf("#") <0 || 1 < line.indexOf("#")) && 
     (line.contains("UTM_ZONE="))) 
    { 
     value = line.mid(line.indexOf("=")+1); 
     break; 
    } 
} 

配置文件是1號線和包含UTM_ZONE = 17

我想這可能與它是1號線,所以它始終認爲這是在做底,但我想增加更多的線之前和之後的文件,它仍然跳過循環。

回答

3

,你做的文件對象的行,在那裏你將它傳遞到QTextStream,你需要打開該文件的行之間:

if (fileutm.open(QIODevice::ReadOnly)) 
{ 
    //Create you QTextStream and use it here... 
} 
else 
{ 
    //Report error opening file here.... 
} 
+0

哇,是的,我只注意到這一點,剛要回答這個問題我自己。謝謝! – mchoy25