【QT】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();
}