Qt修改文件内容
来源:互联网 发布:npm.js是干什么用的 编辑:程序博客网 时间:2024/04/29 11:44
在用Qt进行嵌入式开发的时候,有时需要通过界面永久的改变ip地址等网卡信息。此时只能修改系统中包含网卡信息的文件,下图红框中所示就是文件中的网卡信息。
那么如何修改这四行呢,我的做法是先打开该文本文件,然后读出全部文本内容,根据换行符“\n”将文本内容分割为字符串列表,当列表中的某个字符串内容是“iface eth0 inet static”的时候,就可以开始处理接下来读到的四行内容了,这里的关键是如何替换这四行内容,其实通过QString的replace方法就能轻松的进行替换。代码如下所示。
QString strAll; QStringList strList; QFile readFile("test.txt"); if(readFile.open((QIODevice::ReadOnly|QIODevice::Text))) { QTextStream stream(&readFile); strAll=stream.readAll(); } readFile.close(); QFile writeFile("test.txt"); if(writeFile.open(QIODevice::WriteOnly|QIODevice::Text)) { 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 { stream<<strList.at(i)<<'\n'; } if(strList.at(i).contains("iface eth0 inet static")) { QString tempStr=strList.at(i+1); tempStr.replace(0,tempStr.length()," address 192.168.1.111"); stream<<tempStr<<'\n'; tempStr=strList.at(i+2); tempStr.replace(0,tempStr.length()," netmask 255.255.255.0"); stream<<tempStr<<'\n'; tempStr=strList.at(i+3); tempStr.replace(0,tempStr.length()," network 192.168.1.0"); stream<<tempStr<<'\n'; tempStr=strList.at(i+4); tempStr.replace(0,tempStr.length()," geteway 192.168.1.1"); stream<<tempStr<<'\n'; i+=4; } } } writeFile.close();修改后的文件如下图所示。
6 0
- Qt修改文件内容
- QT 用什么类修改XML的部分文件内容
- qt写入文件内容
- 批量修改文件内容
- perl 修改文件内容
- 批量修改文件内容
- 修改文件内容
- 修改文件内容
- python修改文件内容
- bat 修改文件内容
- C修改文件内容
- 批量修改文件内容
- 修改assets文件内容
- bat修改文件内容
- Python修改文件内容
- 批量修改文件内容
- python修改文件内容
- python修改文件内容
- 专题四 Problem L
- 自由主义教皇 Linus Torvalds 语录(待排版)
- Python及其模块加载工具安装
- ORA-16032错误解决
- 使用Jenkins搭建构建机(三) 遇到的坑,会持续更新.
- Qt修改文件内容
- 在ASP.NET中使用Session
- android 两个应用之间的通信与调用
- Eclipse error: could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037:
- 一维树状数组入门
- unity3d中使用Scoll Rect实现聊天
- 网站优化:浏览器缓存控制简介及配置策略
- webview与swiperefreshlayout滑动冲突
- GetModuleHandle()与GetModuleHandleEx()说明