构造函数
QBuffer(QObject * parent = 0)
用给定的父类构造一个空缓冲区。可以调用setData()用数据填充缓冲区,也可以在写模式下打开缓冲区并使用write()
QBuffer(QByteArray * byteArray, QObject * parent = 0)
1.构造一个QBuffer,使用byteArray指向的QByteArray作为内部缓冲区,并使用给定的父缓冲区。调用者负责确保byteArray在QBuffer被销毁或调用setBuffer()更改缓冲区之前保持有效。QBuffer不接受QByteArray的所有权
2.如果您以只写模式或读写模式打开缓冲区并向QBuffer写入一些内容,byteArray将被修改
例子:(官方帮助文档的)
QByteArray byteArray("abc");
QBuffer buffer(&byteArray);
buffer.open(QIODevice::WriteOnly);
//不向后移动,会直接重写内容哦。
buffer.seek(3);
buffer.write("def", 3);
buffer.close();
// byteArray == "abcdef"
例子
Public Functions
返回缓冲区的引用:buffer()
QByteArray & QBuffer::buffer()
返回对QBuffer内部缓冲区的引用。您可以使用它来修改QBuffer背后的QByteArray
返回缓冲区的引用(const):buffer()
const QByteArray & QBuffer::buffer() const
返回对QBuffer内部缓冲区的引用。您可以使用它来修改QBuffer背后的QByteArray
返回缓冲区的数据:data()
const QByteArray & QBuffer::data() const
返回缓冲区中包含的数据
指定内部缓冲区:setBuffer(QByteArray * byteArray)
void QBuffer::setBuffer(QByteArray * byteArray)
使QBuffer使用byteArray指向的QByteArray作为它的内部缓冲区。调用者负责确保byteArray在QBuffer被销毁或调用setBuffer()更改缓冲区之前保持有效。QBuffer不接受QByteArray的所有权
设置缓冲区的内容:setData(const QByteArray & data)
void QBuffer::setData(const QByteArray & data)
将内部缓冲区的内容设置为data。这与将数据分配给buffer()是一样的
设置缓冲区的内容:setData(const char * data, int size)
void QBuffer::setData(const char * data, int size)
将内部缓冲区的内容设置为data的第一个size字节。
Reimplemented Public Functions
判断是否已经到结尾:atEnd()
bool QBuffer::atEnd() const
重新实现从QIODevice: atEnd ()。
读取完整行:atEnd()
bool QBuffer::canReadLine() const
如果可以从设备读取完整的数据行,则返回true;否则返回假
关闭缓冲区:close()
void QBuffer::close()
关闭缓冲区
打开方式:open(OpenMode flags)
bool QBuffer::open(OpenMode flags)
以什么方式打开文件
返回当前位置:pos()
qint64 QBuffer::pos() const
获取当前流位置
移动到指定位置:seek(qint64 pos)
bool QBuffer::seek(qint64 pos)
移动到流指定位置
返回数据大小:size()
qint64 QBuffer::size() const
返回文件大小
Reimplemented Protected Functions
读取数据:readData(char * data, qint64 len)
qint64 QBuffer::readData(char * data, qint64 len)
将设备中的最大len读入data,并返回读取的字节数,如果发生错误则返回-1
写入数据:writeData(const char * data, qint64 len)
qint64 QBuffer::writeData(const char * data, qint64 len)
从data写到设备的最大字len。返回写入的字节数,如果发生错误则返回-1