方法如下:
将文件中的内容一行一行取出,判断行头是否为等号左值,重写该行添加到字符串,其他不同直接添加到字符串,最后写回到文件。
QString RunFrameNcFile = "/home/。。。";
QFile Ncfile(RunFrameNcFile);
Ncfile.open(QIODevice::ReadOnly);
if (Ncfile.isOpen())
{
QString strtemp;
QTextStream NctextStream(&Ncfile);
QString Xname = "#<XMaxValue> =";
QString Yname = "#<YMaxValue> =";
QString Fname = "#<FValue> =";
QString Alltemp;
while(!NctextStream.atEnd())
{
strtemp = NctextStream.readLine();
if(strtemp.mid(0,14) == Xname)
{
Alltemp = Alltemp+ QString("#<XMaxValue> = ").toLatin1() + QString::number(MaxXJoint).toLatin1();
Alltemp += QString('\n').toLatin1();
}
else if(strtemp.mid(0,14) == Yname)
{
Alltemp = Alltemp+ QString("#<YMaxValue> = ").toLatin1() + QString::number(MaxYJoint).toLatin1();
Alltemp += QString('\n').toLatin1();
}
else if(strtemp.mid(0,11) == Fname)
{
Alltemp = Alltemp+ QString("#<FValue> = ").toLatin1() + QString::number(RunFrameSpeed).toLatin1();
Alltemp += QString('\n').toLatin1();
}
else
{
Alltemp += strtemp.toLatin1();
Alltemp += QString('\n').toLatin1();
}
}
Ncfile.close();
Ncfile.open(QIODevice::WriteOnly);
QTextStream in(&Ncfile);
in <<Alltemp;
Ncfile.close();
}