我需要修改文件的“创建”(如果存在),“修改”和“访问”时间戳。理想情况下,这将是一个独立于平台的解决方案。C++:如何修改文件创建的时间戳?
我看了一下boost库,但看不到任何相关的东西。我发现最近的一些相关的东西是Windows的this。
任何人都可以帮忙吗?谢谢。
我需要修改文件的“创建”(如果存在),“修改”和“访问”时间戳。理想情况下,这将是一个独立于平台的解决方案。C++:如何修改文件创建的时间戳?
我看了一下boost库,但看不到任何相关的东西。我发现最近的一些相关的东西是Windows的this。
任何人都可以帮忙吗?谢谢。
我从来没有使用过,但我想,你正在寻找的属性功能:
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);
注意:其中第二个将设置最后修改时间,以防万一这是需要的。 – 2012-05-24 16:01:26
这个答案如何帮助修改“创建”的标志时间? – killdaclick 2013-09-04 12:34:30
@killdaclick afaik没有提供创建时间的功能。我认为如果你想要的话,你将不得不为不同的实现编写你自己的功能,支持平台 – Daniel 2013-09-04 14:16:18
Another,稍微简单的代码Windows的片段。
并非所有流行文件系统的支持“创造”和“访问”时间戳:http://en.wikipedia.org/wiki/Comparison_of_file_systems#Metadata
的Windows文件系统做的,但它可能不是一个好主意,如果你需要的可移植性取决于他们现在。纵观该表,我认为在新文件系统中增加对它们的支持有一种趋势。
这是Unix管理员的经典面试问题,“如何查看文件创建时间戳?”。答案是:没有这样的事情。 – Cubbi 2010-09-28 15:50:31