工程目录:
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; }