Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个项目,我正在创建一个文件并使用以下方法获取文件创建时间:-
stat("C:/repos/trunk/logging/test.log",&attrib);
我想缓存最后一个时间戳,这样我就不会在每条日志消息上都使用它。
请提供帮助。
谢谢
stat不给你文件创建时间。它为您提供文件修改时间、访问时间和 inode 更改时间。
stat
如果需要,您当然可以缓存该信息,但会受到缓存的正常问题的影响,也就是说,如果文件被修改并且您没有尽快再次检查,您将面临缓存中存在陈旧数据的风险。
如果您的程序是单线程的并且您只处理一个文件,那么您可以使用static例如变量。否则,您可能希望创建一个对象(在 OO 意义上),将缓存的时间戳和缓存值的 TTL 作为内部状态,并提供查询和/或刷新值的方法。
static