• [转]


    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 ); // 定位到第四个字符(终结符)
        b.writeBlock( "def", 4 ); // 写入“def”,包括终结符
        b.close();
        // 现在,str就是“abcdef”和一个终结符
      

    也可以参考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() )是一样的。

  • 相关阅读:
    在WAMPSERVER下增加多版本的PHP(PHP5.3,PHP5.4,PHP5.5)完美支持。
    mysql慢查询配置
    mysqlslap 一个MySQL数据库压力测试工具
    MYSQL用户操作管理大杂烩
    AIX mount nfs 文件系统失败
    rsync续传大目录一例
    TCP三次握手
    inode 耗尽
    Linux记录屏幕输出log
    《漏测问题表元素》
  • 原文地址:https://www.cnblogs.com/suanec/p/4216952.html
Copyright © 2020-2023  润新知