QDataStream通过二进制方式读取文件

使用二进制方式读写文件

#include "widget.h"
#include "ui_widget.h"
#include 
#include 
#include 
//
#define cout qDebug()<<"["<<__FILE__<<":"<<__LINE__<<"]"
//输出打印代码在哪一个文件哪一行

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

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

void Widget::writeData()
{
    //创建文件对象
    QFile file("C:/Users/kihay/Desktop/Qt/day3/test.txt");

    //打开文件,只写方式
    bool isOk = file.open(QIODevice::WriteOnly);
    if(isOk==true)
    {
        //创建数据流,和file文件关联
        //往数据流中写数据,相当于王文件中写数据
        QDataStream stream(&file);

        stream << QString("你猜")<<250;//以二进制格式保存

        file.close();

    }
}


void Widget::readData()
{
    //创建文件对象
    QFile file("C:/Users/kihay/Desktop/Qt/day3/test.txt");

    //打开文件,只读方式
    bool isOk = file.open(QIODevice::ReadOnly);
    if(isOk==true)
    {
        //创建数据流,和file文件关联
        //往数据流中写数据,相当于王文件中读数据
        QDataStream stream(&file);
        //读的时候,按写的顺序取数据
        QString str;
        int a ;
        stream >>str>>a;
        //qDebug()<
        cout<<str.toUtf8().data()<<a;

        file.close();
    }

}

你可能感兴趣的:(QDataStream通过二进制方式读取文件)