0

我有一个项目,我正在创建一个文件并使用以下方法获取文件创建时间:-

stat("C:/repos/trunk/logging/test.log",&attrib);

我想缓存最后一个时间戳,这样我就不会在每条日志消息上都使用它。

请提供帮助。

谢谢

4

1 回答 1

0

stat不给你文件创建时间。它为您提供文件修改时间、访问时间和 inode 更改时间。

如果需要,您当然可以缓存该信息,但会受到缓存的正常问题的影响,也就是说,如果文件被修改并且您没有尽快再次检查,您将面临缓存中存在陈旧数据的风险。

如果您的程序是单线程的并且您只处理一个文件,那么您可以使用static例如变量。否则,您可能希望创建一个对象(在 OO 意义上),将缓存的时间戳和缓存值的 TTL 作为内部状态,并提供查询和/或刷新值的方法。

于 2012-04-01T19:23:25.190 回答