我尝试在“hiberfil.sys”文件上使用file_size函数,但得到了系统:32错误代码。 我试着阅读该函数的文档,并写了如果它是一个常规文件(并且它是我检查)它必须工作。 这是代码:
boost::filesystem::path p="c:\\hiberfil.sys";
std::cout<<boost::filesystem::file_size(p);
为何会发生这种想法?
答案 0 :(得分:0)
该文件是用于Windows休眠的内存快照,它已被锁定,您将无法通过提升或其他方式获取其文件大小。
您可以在Windows上本地读取目录条目以获取文件大小(see an MSDN example),但由于文件已锁定,因此该值最多为近似值。