[转] - QBuffer类参考
QBuffer类参考
QBuffer类是一个操作QByteArray的输入/输出设备。 详情请见……
#include <qbuffer.h>
继承了QIODevice。
所有成员函数的列表。
公有成员
- QBuffer ()
 - QBuffer ( QByteArray buf )
 - ~QBuffer ()
 - QByteArray buffer () const
 - bool setBuffer ( QByteArray buf )
 - virtual Q_LONG writeBlock ( const char * p, Q_ULONG len )
 - Q_LONG writeBlock ( const QByteArray & data )
 
详细描述
QBuffer类是一个操作QByteArray的输入/输出设备。
QBuffer是用来读写内存缓存的。它通常与QTextStream或QDataStream一起使用。QBuffer有一个相关联的QByteArray用来存储缓冲数据。缓冲的大小(size())会根据所写的数据自动调整。
构造函数QBuffer(QByteArray)以一个现有的字节数组创建一个QBuffer。字节数组也可以由setBuffer()来设置。向QBuffer写将会更改初始字节数组,因为QByteArray是明确共享。
在使用之前使用open()来打开缓存并且设置模式(只读、只写等等)。close()可以关闭缓存。在重新打开或者调用setBuffer()之前缓存必须被关闭。
使用QBuffer的一个普通方式是通过QDataStream或QTextStream,它们可以通过一个QBuffer参数来构造。为了方便,QDataStream和QTextStream也可以使用一个QByteArray参数来构造。这些构造函数创建并且打开一个内部的QBuffer。
注意QTextStream也可以操作QString(一个Unicode字符串),而QBuffer不能。
你也可以直接通过标准的QIODevice函数readBlock()、writeBlock()、readLine()、at(),、getch()、putch()和ungetch()来使用QBuffer。
也可以参考QFile、QDataStream、QTextStream、QByteArray、共享类、 集合类和输入/输出和网络。
成员函数文档
QBuffer::QBuffer ()
构造一个空的缓存。
QBuffer::QBuffer ( QByteArray buf )
操作buf来构造一个缓存。 如果你使用写模式(IO_WriteOnly或者IO_ReadWrite)打开缓存并且写一些东西到缓存,buf将被修改。
实例:
QCString str = "abc";
QBuffer b( str );
b.open( IO_WriteOnly );
b.at( 3 ); // 定位到第四个字符(终结符\0)
b.writeBlock( "def", 4 ); // 写入“def”,包括终结符\0
b.close();
// 现在,str就是“abcdef”和一个终结符\0
也可以参考setBuffer()。
QBuffer::~QBuffer ()
析构缓存。
QByteArray QBuffer::buffer () const
返回这个缓存的字节数组。
也可以参考a href="#setBuffer">setBuffer()。
bool QBuffer::setBuffer ( QByteArray buf )
把缓存的内容替换为buf。
当isOpen()为真时,这个操作也许不能被完成。
注意如果你使用写模式(IO_WriteOnly或者IO_ReadWrite)打开缓存并且写一些东西到缓存,buf也会被修改因为QByteArray是一个明显共享类。
也可以参考buffer()、open()和close()。
Q_LONG QBuffer::writeBlock ( const char * p, Q_ULONG len ) [虚]
把p中的len字节写到缓存的当前索引位置,如果需要的话,将会覆盖原有的数据并且扩充缓存。返回实际所写的字节数量。
如果发生任何错误,返回-1。
也可以参卡readBlock()。
Reimplemented from QIODevice.
Q_LONG QBuffer::writeBlock ( const QByteArray & data )
这是一个重载成员函数,提供方便。它的行为和上面的函数基本一致。
这个方便的函数使用data与调用writeBlock( data.data(), data.size() )是一样的。
[转] - QBuffer类参考的更多相关文章
- Android类参考---Fragment
		
Android类参考---Fragment public final boolean isAdded() 如果该Fragment对象被添加到了它的Activity中,那么它返回true,否则返回fal ...
 - Inno Setup入门(十六)——Inno Setup类参考(2)
		
Inno Setup入门(十六)——Inno Setup类参考(2) http://379910987.blog.163.com/blog/static/33523797201112755641236 ...
 - QDataStream类参考(串行化数据,可设置低位高位,以及版本号),还有一个例子
		
QDataStream类提供了二进制数据到QIODevice的串行化. #include 所 有成员函数的列表. 公有成员 QDataStream () QDataStream ( QIODevice ...
 - QFtp类参考
		
QFtp是一个用来实现FTP协议的类. 详情请见…… #include <qftp.h> 继承了QNetworkProtocol. 所有成员函数的列表. 公有成员 QFtp () virt ...
 - QWidget类参考
		
QWidget类是所有用户界面对象的基类. 详情请见…… #include <qwidget.h> 继承QObject和QPaintDevice. 被QButton.QFrame.QDia ...
 - Shiro 使用 JWT Token 配置类参考
		
项目中使用了 Shiro 进行验证和授权,下面是 Shiro 配置类给予参考. 后来并没有使用 Shiro,感觉使用 JWT 还是自己写拦截器比较灵活,使用 Shiro 后各种地方需要魔改,虽然功能也 ...
 - QStyleFactory类参考
		
QStyleFactory类创建QStyle对象.#include <QStyleFactory> 静态公有成员QStyle* create(const QString & k ...
 - Inno Setup入门(二十二)——Inno Setup类参考(8)
		
: Install Setup 2013-02-02 11:31 477人阅读 评论(0) 收藏 举报 列表框 列表框(ListBox)是Windows应用程序中重要的输入手段,其中包括多个选项用户可 ...
 - Inno Setup入门(二十一)——Inno Setup类参考(7)
		
Install Setup 2013-02-02 11:31 378人阅读 评论(0) 收藏 举报 复选框 复选框(CheckBox)用于多个并不互斥的几个选项中作出一个或者多选择,例如字体可以有粗体 ...
 
随机推荐
- Apple Swift中英文开发资源集锦[apple swift resources]
			
找到的一些Apple Swift中英文资源原文链接,希望对大家有所帮助.欢迎大家补充,原始资源链接最好! The Swift Programming Language https://develope ...
 - [MAC ]   Mac-OSX下安装Git
			
转载自 : http://www.cnblogs.com/shanyou/archive/2011/01/30/1948088.html Mac-OSX下安装Git是一件很简单的事,我们可以下载一个安 ...
 - [Android Pro]   android 混淆文件project.properties和proguard-project.txt
			
参考文档:http://blog.csdn.net/xueyepiaoling/article/details/8202359转载自:http://glblong.blog.51cto.com/305 ...
 - GPU CUDA 经典入门指南
			
转自:http://luofl1992.is-programmer.com/posts/38830.html CUDA编程中,习惯称CPU为Host,GPU为Device.编程中最开始接触的东西恐怕是 ...
 - opencv学习笔记(七)SVM+HOG
			
opencv学习笔记(七)SVM+HOG 一.简介 方向梯度直方图(Histogram of Oriented Gradient,HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子 ...
 - mysql  建表语句
			
修改id为自动增长: alter table book b_ISBN int(11) auto_increment; 自动增长要加的:auto_increment 基本的sql语句: 选择:sel ...
 - 【转】Quartus II调用modelsim无缝仿真
			
Quartus II调用modelsim无缝仿真 ★emouse 思·睿博客文章★ 原创文章转载请注明:http://emouse.cnblogs.com 本篇文章为转载,写的不错,最近在学mode ...
 - Linux命令行下创建纳入版本控制下的新目录
			
[root@ok 资料库]# svn mkdir test A test [root@ok 资料库]# svn ci -m "mkdir test" Adding 资料库/test ...
 - jquery easy ui 1.3.4 表单(7)
			
7.1.ValidateBox(表单验证) 使用validType属性指定验证方法 1.标签方式创建 <input type="text" class="easyu ...
 - Pyqt在QListWidget中添加右键菜单
			
Pyqt 的资料奇少, 攻破难点之后, 就在这里记一下笔记. QListWidget 是继承 QWidget 的, 所以 QListWidget 是有右键菜单的, 从文档上可以找到 QWidget 上 ...