本文整理汇总了C++中IODevice::read_int16方法的典型用法代码示例。如果您正苦于以下问题:C++ IODevice::read_int16方法的具体用法?C++ IODevice::read_int16怎么用?C++ IODevice::read_int16使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IODevice
的用法示例。
在下文中一共展示了IODevice::read_int16方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: load
void ZipFileHeader::load(IODevice &input)
{
signature = input.read_int32();
if (signature != 0x02014b50)
{
throw Exception("Incorrect File Header signature");
}
version_made_by = input.read_int16();
version_needed_to_extract = input.read_int16();
general_purpose_bit_flag = input.read_int16();
compression_method = input.read_int16();
last_mod_file_time = input.read_int16();
last_mod_file_date = input.read_int16();
crc32 = input.read_uint32();
compressed_size = input.read_int32();
uncompressed_size = input.read_int32();
file_name_length = input.read_int16();
extra_field_length = input.read_int16();
file_comment_length = input.read_int16();
disk_number_start = input.read_int16();
internal_file_attributes = input.read_int16();
external_file_attributes = input.read_int32();
relative_offset_of_local_header = input.read_int32();
filename.resize(file_name_length);
auto str1 = new char[file_name_length];
auto str2 = new char[extra_field_length];
auto str3 = new char[file_comment_length];
try
{
input.read(str1, file_name_length);
input.read(str2, extra_field_length);
input.read(str3, file_comment_length);
if (general_purpose_bit_flag & ZIP_USE_UTF8)
{
filename = StringHelp::utf8_to_text(std::string(str1, file_name_length));
file_comment = StringHelp::utf8_to_text(std::string(str3, file_comment_length));
}
else
{
filename = StringHelp::cp437_to_text(std::string(str1, file_name_length));
file_comment = StringHelp::cp437_to_text(std::string(str3, file_comment_length));
}
extra_field = DataBuffer(str2, extra_field_length);
delete[] str1;
delete[] str2;
delete[] str3;
}
catch (...)
{
delete[] str1;
delete[] str2;
delete[] str3;
throw;
}
}
示例2: Exception
void Zip64EndOfCentralDirectoryRecord::load(IODevice &input)
{
signature = input.read_int32();
if (signature != 0x06064b50)
{
throw Exception("Incorrect Zip64 End of Central Directory Record signature");
}
size_of_record = input.read_int64();
version_made_by = input.read_int16();
version_needed_to_extract = input.read_int16();
number_of_this_disk = input.read_int32();
number_of_disk_with_central_directory_start = input.read_int32();
number_of_entries_on_this_disk = input.read_int64();
number_of_entries_in_central_directory = input.read_int64();
size_of_central_directory = input.read_int64();
offset_to_start_of_central_directory = input.read_int64();
// todo: read extensible data sector
}