本文整理汇总了C++中Header::GetLastModificationTime方法的典型用法代码示例。如果您正苦于以下问题:C++ Header::GetLastModificationTime方法的具体用法?C++ Header::GetLastModificationTime怎么用?C++ Header::GetLastModificationTime使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Header
的用法示例。
在下文中一共展示了Header::GetLastModificationTime方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: tmp
//.........这里部分代码省略.........
* sizeof(Header));
}
continue;
}
if (haveLongName)
{
dest = longName;
haveLongName = false;
}
// skip directory prefix
if (lpszPrefix != 0
&& PathName::Compare(lpszPrefix, dest, prefixLen) == 0)
{
PathName tmp (dest);
dest = tmp.Get() + prefixLen;
}
// make the destination path name
PathName path (destDir);
if (! makeDirectories)
{
dest.RemoveDirectorySpec ();
}
path += dest;
// notify the client
if (pCallback != 0)
{
pCallback->OnBeginFileExtraction (path.Get(), size);
}
// create the destination directory
Directory::Create (PathName(path).RemoveFileSpec());
// remove the existing file
if (File::Exists(path))
{
File::Delete (path, true);
}
// extract the file
FileStream streamOut (File::Open(path,
FileMode::Create,
FileAccess::Write,
false));
size_t bytesRead = 0;
while (bytesRead < size)
{
size_t remaining = size - bytesRead;
size_t n = (remaining > buffer.GetCapacity() ? buffer.GetCapacity() : remaining);
if (Read(buffer.GetBuffer(), n) != n)
{
FATAL_EXTRACTOR_ERROR ("TarExtractor::Extract",
T_("Invalid package archive file."),
0);
}
streamOut.Write (buffer.Get(), n);
bytesRead += n;
}
streamOut.Close ();
// skip extra bytes
if (bytesRead % sizeof(Header) > 0)
{
Skip (sizeof(Header) - bytesRead % sizeof(Header));
}
fileCount += 1;
// set time when the file was created
time_t time = header.GetLastModificationTime();
File::SetTimes (path, time, time, time);
#if 0
// set file attributes
File::SetAttributes (path, todo);
#endif
// notify the client
if (pCallback != 0)
{
pCallback->OnEndFileExtraction (0, size);
}
}
traceStream->WriteFormattedLine ("libextractor",
T_("extracted %u file(s)"),
fileCount);
}
catch (const exception &)
{
traceStream->WriteFormattedLine
("libextractor",
T_("%u bytes were read from the tar stream"),
static_cast<unsigned>(totalBytesRead));
throw;
}
}