QT学习:读写文本文件

一、使用QFile类读写文本

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

#include <QCoreApplication> 
#include <QFile> 
#include <QtDebug> 
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目录下,然后运行程序, 运行结果如图所示:
在这里插入图片描述

二、使用QTextStream类读写文本

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

#include <QCoreApplication> 
#include <QFile> 
#include <QTextStream> 
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”,打开后看到的内容如下图所示:
在这里插入图片描述
除了上述例子中,QTextStream还提供了其他一些格式化函数,如下表所示:
在这里插入图片描述
QTextStream还提供了 其他一些流操作符,如下表所示:
在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值