20 Qt文件流读写文件

文本流
QFile file(path)
QTextStream(&file)
stream<<写数据
stream.readAll //遇到空格就结束

先写一个文件保存在aaa.txt目录

#include "widget.h"
#include "ui_widget.h"
#include <QFileDialog>
#include <QMessageBox>
#include <QFile>
#include <QTextCodec>
#include <QDateTime>
#include <QDebug>

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);


    //文件流读写文件
    //分类:文本流(基础数据类型) 和 数据流 (大型QImage)

    //文本流
    QFile file("aaa.txt");
    file.open(QFileDevice::WriteOnly);
    QTextStream stream(&file);
    stream<< QString("hello World") << 123456 ;
    file.close();

    //读取
    file.open(QFileDevice::ReadOnly);
    QString str;
    //stream >>str; //读取空格就会结束
    str = stream.readAll();
    qDebug() << str;
}

Widget::~Widget()
{
    delete ui;
}

输出

"hello World123456"

数据流
QDataStream stream(&file)
stream<<写数据

将文件保存成二进制

#include "widget.h"
#include "ui_widget.h"
#include <QFileDialog>
#include <QMessageBox>
#include <QFile>
#include <QTextCodec>
#include <QDateTime>
#include <QDebug>

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);


    //数据流 二进制
    QFile file("bbb.txt");
    file.open(QFileDevice::WriteOnly);
    //数据的形式,保存下来的是二进制
    QDataStream stream(&file);
    stream << QString("hello World") << 123456;
    file.close();

    //读数据
    file.open(QFileDevice::ReadOnly);
    QString str;
    int num;
    stream >>str >> num;
    qDebug() << str << num;
}

Widget::~Widget()
{
    delete ui;
}

生成的文件,前后是乱码的原因是前后保存了一些数据的信息,因此是乱码了

                       

输出结果

"hello World" 123456

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值