概述
#include "modify.h"
modify::modify()
{
readFile=new QFile("E:/xwj/project/moidfy_GPgga/modifyGGA/RxRec20110607_070017.txt");
writeFile=new QFile("E:/xwj/project/moidfy_GPgga/modifyGGA/RxRec20110607_070017.txt");
readTxt();
}
void modify::readTxt()
{
if(!readFile->open(QIODevice::ReadOnly|QIODevice::Text)) {
qDebug()<<"Can't open the file!"<<endl;
}
else
{
QTextStream stream(readFile);
strAll=stream.readAll();
}
readFile->close();
if(!writeFile->open(QIODevice::WriteOnly|QIODevice::Text))
{
qDebug()<<"Can't write the file!"<<endl;
}
else
{
QTextStream stream(writeFile);
strList=strAll.split("n");
for(int i=0;i<strList.count();i++)
{
if(i==strList.count()-1)
{
//最后一行不需要换行
stream<<strList.at(i);
}
else if(strList.at(i).contains("$PCSI")){
QString s;
strListforPCSI=strList.at(i).split(",");
int p=strListforPCSI.at(9).toInt();
int len=strListforPCSI.at(9).length();
if(p<=13&&p>=10)
p+=3+qrand()%(5-3);
else if(p<=9&&p>=6)
p+=6+qrand()%(8-6);
else if(p<=5&&p>=2)
p+=10+qrand()%(13-10);
else if(p<=2)
p+=13+qrand()%(15-13);
s=QString::number(p);
QString tempStr=strList.at(i);
tempStr.replace(45,len,s);
qDebug()<<"int p:="<<p;
qDebug()<<tempStr;
qDebug()<<"int s="<<s;
stream<<tempStr<<'n';
}
else
{
stream<<strList.at(i)<<'n';
}
}
}
readFile->close();
qDebug()<<"OK!";
}
最后
以上就是甜蜜摩托为你收集整理的QT打开txt文件,读取修改,解析数据。的全部内容,希望文章能够帮你解决QT打开txt文件,读取修改,解析数据。所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复