当前位置: 首页>>代码示例>>C++>>正文


C++ IOBuffer::readUInt16方法代码示例

本文整理汇总了C++中IOBuffer::readUInt16方法的典型用法代码示例。如果您正苦于以下问题:C++ IOBuffer::readUInt16方法的具体用法?C++ IOBuffer::readUInt16怎么用?C++ IOBuffer::readUInt16使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IOBuffer的用法示例。


在下文中一共展示了IOBuffer::readUInt16方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: read

// we must be at the right position in the file!
bool CentralDirFileHeader::read(QIODevice* ioDevice)
{
    Q_ASSERT(ioDevice);

    IOBuffer buffer;
    buffer.read( ioDevice, CD_FILE_HEADER_SIZE );

    signature = buffer.readUInt32( );      // 0x02014b50
    if ( signature != CD_FILE_HEADER_SIGNATURE )
        return false;

    versionMadeBy = buffer.readUInt16( );
    versionNeeded = buffer.readUInt16( );
    generalFlag = buffer.readUInt16( );
    compressionMethod = buffer.readUInt16( );
    lastModFileTime = buffer.readUInt16( );
    lastModFileDate = buffer.readUInt16( );
    crc_32 = buffer.readUInt32( );
    compressedSize = buffer.readUInt32( );
    uncompressedSize = buffer.readUInt32( );
    filenameLength = buffer.readUInt16( );
    extraFieldLength = buffer.readUInt16( );
    fileCommentLength = buffer.readUInt16( );
    diskNumberStart = buffer.readUInt16( );
    internalFileAttr = buffer.readUInt16( );
    externalFileAttr = buffer.readUInt32( );
    relativeOffset = buffer.readUInt32( );

    if (filenameLength)
    {
        fileName = ioDevice->read( filenameLength );
        if ( isUTF8() )
            sFileName = QTextCodec::codecForUtfText(fileName)->toUnicode( fileName );    // Save in a QString for convienience (searching etc)
        else
            sFileName = QTextCodec::codecForLocale()->toUnicode( fileName );    // Save in a QString for convienience (searching etc)
    }

    readExtraData( ioDevice );

    if (fileCommentLength)
        comment = ioDevice->read( fileCommentLength );

    return isValid();
}
开发者ID:abelayer,项目名称:AbZip,代码行数:45,代码来源:CentralDirFileHeader.cpp


注:本文中的IOBuffer::readUInt16方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。