Boost函数:boost :: filesystem :: file_size错误

时间:2014-01-18 13:02:35

标签: windows boost boost-filesystem

我尝试在“hiberfil.sys”文件上使用file_size函数,但得到了系统:32错误代码。 我试着阅读该函数的文档,并写了如果它是一个常规文件(并且它是我检查)它必须工作。 这是代码:

boost::filesystem::path p="c:\\hiberfil.sys";
std::cout<<boost::filesystem::file_size(p);

为何会发生这种想法?

1 个答案:

答案 0 :(得分:0)

该文件是用于Windows休眠的内存快照,它已被锁定,您将无法通过提升或其他方式获取其文件大小。

您可以在Windows上本地读取目录条目以获取文件大小(see an MSDN example),但由于文件已锁定,因此该值最多为近似值。