我是靠谱客的博主 甜蜜摩托,最近开发中收集的这篇文章主要介绍QT打开txt文件,读取修改,解析数据。,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#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文件,读取修改,解析数据。所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部