QT无法从文件中读取

时间:2015-11-05 19:44:49

标签: c++ qt

我正在尝试从特定位置打开一个文件,它似乎正确地找到了路径,但我无法弄清楚为什么它总是会跳过while循环。

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行有关,因此它总是认为它在最后,但我尝试在文件之前和之后添加更多行,它仍然会跳过循环。

1 个答案:

答案 0 :(得分:3)

在创建File对象的行和将其传递到QTextStream的行之间,需要打开文件:

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