QT修改txt內容

本例是個簡單的小技巧

示例代碼:

#include <QString>
#include <QStringList>
#include <QFile>
#include <QTextStream>

void writeTxt()
{
     QString strAll;
     QStringList strList;
     QFile readFile(PATH);		//PATH是自定義讀取文件的地址
     if(readFile.open((QIODevice::ReadOnly|QIODevice::Text)))
     {
         //把文件所有信息讀出來
         QTextStream stream(&readFile);
         strAll=stream.readAll();
     }
     readFile.close();

     QFile writeFile(PATH);	//PATH是自定義寫文件的地址
     if(writeFile.open(QIODevice::WriteOnly|QIODevice::Text))
     {
             QTextStream stream(&writeFile);
             strList=strAll.split("\n");           //以換行符爲基準分割文本
             for(int i=0;i<strList.count();i++)    //遍歷每一行
             {
                 if(strList.at(i).contains("123456789"))    //"123456789"是要修改的內容	
                 {
                     QString tempStr=strList.at(i);
                     tempStr.replace(0,tempStr.length(),"Hello!");   //"Hello!"是要替換的內容
                     stream<<tempStr<<'\n';
                 }
                 //如果沒有找到要替換的內容,照常寫入
                 else
                 {
                     if(i==strList.count()-1)
                     {
                        stream<<strList.at(i);
                     }
                     else
                     {
                        stream<<strList.at(i)<<'\n';
                     }
                 }
             }
     }
     writeFile.close();
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章