我正在尝试从特定位置打开一个文件,它似乎正确地找到了路径,但我无法弄清楚为什么它总是会跳过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行有关,因此它总是认为它在最后,但我尝试在文件之前和之后添加更多行,它仍然会跳过循环。
答案 0 :(得分:3)
在创建File对象的行和将其传递到QTextStream的行之间,需要打开文件:
if ( fileutm.open(QIODevice::ReadOnly) )
{
//Create you QTextStream and use it here...
}
else
{
//Report error opening file here....
}