最近在弄一个linux下QT的TCP的客户端与服务端进行的网卡测试程序,需要对测试的数据进行保存,所以要用到文件的操作。
一、刚开始考虑用QFile操作保存为txt文件,并进行了尝试(没有完成)
网上查找了一些相关资料:(http://www.linuxidc.com/Linux/2011-04/34581.htm)
#include <qfile.h>
#include <qtextstream.h>
1. 打开文件
QFile f( fn );//fn可以是一个相对路径或绝对路径
f.open(IO_);//一般不要IO_ReadWrite,很容易出现赃数据
//如果要在文件的后面添加内容要IO_WriteOnly|IO_Append
//如果要清空原来的内容,只要IO_WriteOnly
//IO_Translate用来读windows文件,linux下的回车换行是\n,windows下是\r\n
2. 写文件
QTextStream s( &f );
s<<"Hello,world!!!"<<"\n";
3. 读一行文件
readLine(),每读一行自动下移一行
atEnd()判断是否到文件末尾
4. 关闭文件
f.close();
5. 对文件的读操作:
QString fileName = QFileDialog::getOpenFileName( QString::null, QString::null, this);
QFile f(fileName);
f.open(IO_ReadOnly);
QTextStream t(&f);
MultiLineEdit1->setText( t.read() );
f.close();
MultiLineEdit1->setAutoUpdate( TRUE );
MultiLineEdit1->repaint();
setCaption( fileName );
6. 对文件的写操作:
QString fileName = QFileDialog::getSaveFileName( QString::null, QString::null, this );
QFile f( fileName );
f.open(IO_WriteOnly );
QTextStream t(&f);
t << MultiLineEdit1->text();
f.close();
二、采用QSettings类来操作ini文件
参考:http://blog.youkuaiyun.com/qiurisuixiang/article/details/7760828