QBuffer



#include "widget.h"
#include "ui_widget.h"
#include<QBuffer>//内存文件
#include<QDebug>
#include<QDataStream>//数据流

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

    QByteArray array;
    QBuffer memFile(&array);//创建内存文件
    memFile.open(QIODevice::WriteOnly);

    memFile.write("11111111");//存到内存区
    memFile.write("2222222222");

    memFile.close();

    qDebug() << memFile.buffer();
    qDebug() << "array" << array;//可以直接把字节写进去


    QBuffer memFile1;
    memFile1.open(QIODevice::WriteOnly);//打开
    QDataStream stream(&memFile1);
    stream << QString("测试") << 250;
    memFile1.close();//关闭

    qDebug() << memFile1.buffer();//这么直接取,不行,用下面的方法

    memFile1.open(QIODevice::ReadOnly);//打开
    QDataStream in;
    in.setDevice(&memFile1);
    QString str;
    int a;
    in >>str >> a;
    memFile1.close();//关闭

    qDebug() << str.toUtf8().data() << a;


}


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

猜你喜欢

转载自blog.csdn.net/fei_yang_yf/article/details/80034854