我正在使用C ++ Qt Library,以下代码在Windows上完美运行但不在CentOS上运行:
if(line.startsWith("[", Qt::CaseInsensitive))
{
int index = line.indexOf(']', 0, Qt::CaseInsensitive);
QString subLine = line.mid(index+1);
subLine = subLine.trimmed();
tokenList = subLine.split("\t");
}
else
{
tokenList = line.split("\t");
}
我有一行[x.x.x.x] ../dir/file.extension
,我想在将行划分为令牌时忽略[x.x.x.x]部分。我在Windows上使用VC9进行调试,并且工作正常。
编辑:我删除了mid()并使用了right()仍然存在同样的问题,在Windows上工作但在CentOS上没有。
编辑:在使用QMessageBox在linux上调试之后,我得出结论,如果阻止,控件永远不会进入内部,我尝试使用if(line.data()[0] =='[')但结果相同。
答案 0 :(得分:1)
您的代码可以简化。
line.remove(QRegExp("\\[\\s+\\d+\\.\\d+\\.\\d+\\.\\d+\\s+\\]"));
tokenList = line.split("\t");