QT中预定义了缓冲区的类QBuffer,可以将缓冲区看成一种特殊的IO设备,文件流辅助类可以直接用于操作缓冲区。QBuffer缓冲区写入和读取的数据必须是同一种数据类型,不能混合多种数据类型。
QBuffer的使用场合:
A、线程间不同类型的数据传递
B、缓存外部设备中的数据返回
C、数据读取速度小于写入速度
QBuffer使用方法如下:
QByteArray array;
QBuffer buffer(&array);
if(buffer.open(QIODevice::WriteOnly))
{
QDataStream out(&buffer);
out << QString("3.1234");
out << QString("scorpio");
out << QString("1234");
buffer.close();
}
if(buffer.open(QIODevice::ReadOnly))
{
QDataStream in(&buffer);
QString name;
QString a;
QString b;
in >> a;
in >> name;
in >> b;
buffer.close();
qDebug() << name;
qDebug() << a;
qDebug() << b;
}