本文整理汇总了C++中Ztring::To_int32u方法的典型用法代码示例。如果您正苦于以下问题:C++ Ztring::To_int32u方法的具体用法?C++ Ztring::To_int32u怎么用?C++ Ztring::To_int32u使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Ztring
的用法示例。
在下文中一共展示了Ztring::To_int32u方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Object_Root
//---------------------------------------------------------------------------
void File_Pdf::Object_Root()
{
Element_Info1("Document Catalog");
//Parsing
string Key;
Ztring Value;
while (Element_Offset<Element_Size)
{
if (Get_Next(Key, Value))
{
for (;;)
{
Get_Next(Key, Value);
if (Key.empty())
break;
else if (Key=="Metadata")
{
int32u ObjectNumber=Value.To_int32u();
Objects[ObjectNumber].Type=Type_Metadata;
Objects[ObjectNumber].TopObject=Objects_Current->first;
Objects[Objects_Current->first].Bottoms.push_back(ObjectNumber);
Param_Info1(__T("Metadata is at offset 0x"+Ztring().From_Number(Objects[ObjectNumber].Offset)));
}
}
continue;
}
if (Key.empty())
break;
}
}
示例2: Read_Buffer_Continue
//---------------------------------------------------------------------------
void File_Tar::Read_Buffer_Continue()
{
if (File_Size<257)
{
Reject();
return;
}
if (Buffer_Size<257)
return; //Wait for more data
//Parsing
Ztring ChecksumO;
Skip_Local(100, "File name");
Skip_Local( 8, "File mode");
Skip_Local( 8, "Owner's numeric user ID");
Skip_Local( 12, "Group's numeric user ID");
Skip_Local( 12, "File size in bytes");
Skip_Local( 8, "Last modification time in numeric Unix time format");
Get_Local ( 8, ChecksumO, "Checksum for header block");
Skip_B1( "Link indicator (file type)");
Skip_Local(100, "Name of linked file");
Skip_XX(File_Size-257, "Data");
FILLING_BEGIN();
//Handling Checksum
int32u Checksum=ChecksumO.To_int32u(8);
int32u ChecksumU=0;
int32u ChecksumS=0;
for (size_t Pos=0; Pos<257; Pos++)
{
if (Pos==148)
{
ChecksumU+=32*8; //8 spaces
ChecksumS+=32*8; //8 spaces
Pos+=7; //Skiping Checksum
}
ChecksumU+=(int8u)Buffer[Pos];
ChecksumS+=(int8s)Buffer[Pos];
}
if (ChecksumU!=Checksum && ChecksumS!=Checksum)
{
Reject("Tar");
return;
}
//Filling
Accept("Tar");
Fill(Stream_General, 0, General_Format, "Tar");
Reject("Tar");
FILLING_END();
}
示例3: Object_Metadata
//---------------------------------------------------------------------------
void File_Pdf::Object_Metadata()
{
Element_Info1("Metadata");
//Parsing
string Key;
Ztring Value;
int32u Length=0;
while (Element_Offset<Element_Size)
{
if (Get_Next(Key, Value))
{
for (;;)
{
Get_Next(Key, Value);
if (Key.empty())
break;
else if (Key=="Length")
{
Length=Value.To_int32u();
}
}
continue;
}
if (Key.empty())
break;
else if (Key=="stream")
{
//Removig end of lines
if (Element_Offset<Element_Size && Buffer[Buffer_Offset+(size_t)Element_Offset]=='\r')
Element_Offset++;
if (Element_Offset<Element_Size && Buffer[Buffer_Offset+(size_t)Element_Offset]=='\n')
Element_Offset++;
#ifndef MEDIAINFO_TINYXML2_NO
File_Xmp MI;
Open_Buffer_Init(&MI, Length);
Open_Buffer_Continue(&MI, Buffer+Buffer_Offset+(size_t)Element_Offset, Length);
Skip_XX(Length, "Stream, Data");
Open_Buffer_Finalize(&MI);
Merge(MI, Stream_General, 0, 0);
#endif //MEDIAINFO_TINYXML2_NO
}
}
}
示例4: trailer
//---------------------------------------------------------------------------
void File_Pdf::trailer()
{
Element_Begin1("Trailer");
//Parsing
int32u Prev=(int32u)-1;
string Key;
Ztring Value;
Skip_String(SizeOfLine(), "Object name");
while (Element_Offset<Element_Size)
{
if (Get_Next(Key, Value))
{
for (;;)
{
Get_Next(Key, Value);
if (Key.empty())
break;
else if (Key=="Root")
{
int32u ObjectNumber=Value.To_int32u();
Objects[ObjectNumber].Type=Type_Root;
Objects[ObjectNumber].TopObject=(int32u)-1;
Objects[(int32u)-1].Bottoms.push_back(ObjectNumber);
Param_Info1(__T("Document Catalog is at offset 0x"+Ztring().From_Number(Objects[ObjectNumber].Offset, 16)));
}
else if (Key=="Info")
{
int32u ObjectNumber=Value.To_int32u();
Objects[ObjectNumber].Type=Type_Info;
Objects[ObjectNumber].TopObject=(int32u)-1;
Objects[(int32u)-1].Bottoms.push_back(ObjectNumber);
Param_Info1(__T("Info is at offset 0x"+Ztring().From_Number(Objects[ObjectNumber].Offset, 16)));
}
else if (Key=="Prev")
{
Prev=Value.To_int32u();
Param_Info1(__T("Previous Cross-Reference Table is at offset 0x"+Ztring().From_Number(Prev, 16)));
}
}
continue;
}
if (Key.empty())
break;
}
Element_End0();
//Previous Cross-Reference Table
if (Prev!=(int32u)-1)
{
GoTo(Prev);
return;
}
objects::iterator Object_Top=Objects.find((int32u)-1);
if (Offsets.empty() || Object_Top==Objects.end())
{
Finish();
return;
}
sort(Offsets.begin(), Offsets.end());
//Offsets_Current=Offsets.end(); //No more used for the moment
Objects[(int32u)-1].BottomPos=0;
Objects_Current=Objects.find(Object_Top->second.Bottoms[0]);
GoTo(Objects_Current->second.Offset);
State=State_Parsing_object;
}