我需要修改文件的“创建”(如果存在)、“修改”和“访问”时间戳。理想情况下,这将是一个独立于平台的解决方案。
我查看了 boost 库,但看不到任何相关内容。我发现的最接近的相关内容是适用于 Windows 的。
任何人都可以帮忙吗?谢谢。
我需要修改文件的“创建”(如果存在)、“修改”和“访问”时间戳。理想情况下,这将是一个独立于平台的解决方案。
我查看了 boost 库,但看不到任何相关内容。我发现的最接近的相关内容是适用于 Windows 的。
任何人都可以帮忙吗?谢谢。
我从未使用过它们,但我想您正在寻找属性函数: http:
//www.boost.org/doc/libs/1_44_0/libs/filesystem/v2/doc/reference.html#Attribute-functions
那里也是最后修改的函数:
template <class Path> std::time_t last_write_time(const Path& p);
template <class Path> void last_write_time(const Path& p, const std::time_t new_time);
另一个稍微简单的 Windows 代码片段。
并非所有流行的文件系统都支持“创建”和“访问”时间戳:http ://en.wikipedia.org/wiki/Comparison_of_file_systems#Metadata
Windows 文件系统可以,但如果您需要可移植性,现在依赖它们可能不是一个好主意。看着那张表,我觉得有一种趋势是在较新的文件系统中添加对它们的支持。