2015-11-05 6 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

Между линией, где вы делаете объект File и строку, в которой вы передаете его в QTextStream, вам нужно открыть файл:

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

Wow да, я только что заметил, что и как раз собирался ответить вопрос сам. Благодаря! – mchoy25

Смежные вопросы