Qt + QBuffer

工程目录:

 

mywidget.cpp:

#include "mywidget.h"
#include "ui_mywidget.h"


#include <QBuffer>//内存文件
#include <QDebug>

#include <QDataStream>//QBuffer还可以配合QDataStream使用

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

    QByteArray array;

    QBuffer memFile(&array);//创建内存文件

    memFile.open(QIODevice::WriteOnly);

    //这里就不做判断了,直接写,
    memFile.write("11111111111111");
    memFile.write("22222222222222");

    memFile.close();

    qDebug()<<memFile.buffer();//特点是将两个字符串合并成一个字符串
    qDebug()<<"array"<<array; //可以指定内容放在指定的缓存区


    QBuffer memFile1;
    memFile1.open(QIODevice::WriteOnly);
    QDataStream stream(&memFile1);
    stream<<QString ("测试")<<250;
    memFile1.close();
    qDebug()<<memFile.buffer();//有的机器不能出现结果,这里我们可使用以下最常见的方式


    memFile1.open(QIODevice::ReadOnly);
    QDataStream in;
    in.setDevice(&memFile1);
    QString str;
    int a;
    in >> str >> a;
    memFile1.close();
    qDebug()<<str.toUtf8().data()<<a;





}

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

 

posted @ 2019-07-06 17:08  Mr_Song_D  阅读(597)  评论(0编辑  收藏  举报