QT学习:读写文本文件

一、使用QFile类读写文本

使用QFile类读写文本文件代码如下:
(1)源文件“main.cpp”的具体实现代码如下:

#include  
#include  
#include  
int main(int argc, char *argv[]) 
{ 
QCoreApplication a(argc, argv); 
QFile file("textFile1.txt"); 
//打开一个文件有两种方式。一种方式是在构造函数中指定文件名;另一种 方式是使用setFileName()函数设置文件名。
if(file.open(QIODevice::ReadOnly)) 
//打开文件使用open()函数,关闭文件使用close()函数。此处的 open()函数以只读方式打开文件,只读方式参数为QIODevice:: ReadOnly,只写方式参数为 QIODevice::WriteOnly,读写参数为QIODevice:: ReadWrite。 
{ 
char buffer[2048]; 
qint64 lineLen = file.readLine(buffer,sizeof(buffer)); 
//在QFile中可以使用从QIODevice中继承的readLine() 函数读取文本文件的一行。
if(lineLen!=-1) 
//如果读取成功,则readLine()函数返回实际读取的字节数;如果 读取失败,则返回“-1”。 
{ 
qDebug()<<buffer; 
} 
}
return a.exec(); 
}

(2)选择“构建”→“构建项目" TextFile "”菜单项,首先编辑本例所用的文本文件“textFile1.txt”,保存在项目build-TextFile-Desktop_Qt_5_9_0_MinGW_32bit-Debug目录下,然后运行程序, 运行结果如图所示:
QT学习:读写文本文件_第1张图片

二、使用QTextStream类读写文本

使用QTextStream类读写文本文件代码如下:
(1)源文件“main.cpp”的具体实现代码如下:

#include  
#include  
#include  
int main(int argc, char *argv[]) 
{ 
QCoreApplication a(argc, argv); 
QFile data("data.txt"); 
if(data.open(QFile::WriteOnly|QFile::Truncate)) //参数QFile::Truncate表示将原来文件中的内容清 空。输出时将格式设为左对齐,占10个字符位置。 
{ 
QTextStream out(&data); 
out<<QObject::tr("score:")<<qSetFieldWidth(10)<<left<<90<< endl; //用户使用格式化函数和流操作 符设置需要的输出格式。其中,qSetFieldWidth()函数是设置字段宽度的格式化函数。
}
return a.exec(); 
}

(2)运行此程序后,可以看到在项目的build-TextFile2- Desktop_Qt_5_9_0_MinGW_32bit-Debug文件夹下自动建立了一个文本文件“data.txt”,打开后看到的内容如下图所示:
QT学习:读写文本文件_第2张图片
除了上述例子中,QTextStream还提供了其他一些格式化函数,如下表所示:
QT学习:读写文本文件_第3张图片
QTextStream还提供了 其他一些流操作符,如下表所示:
QT学习:读写文本文件_第4张图片

你可能感兴趣的:(QT学习,qt)