有没有办法检查程序上次运行的时间? (在Unix中的C)

时间:2014-10-31 08:20:06

标签: c unix directory utility if-modified-since

我在C中编写程序/实用程序,以查找(然后移动到新目录)当前目录中的文件,这些文件在上次运行该实用程序后已被修改。

我想知道的是,是否有办法找到该实用程序的最后一次运行。或者,一种在程序中存储时间的方法(以便将最后存储的时间与当前时间进行比较,然后将"最后一次"变量更新为当前时间)。

当我键入它时,我发现我可以将时间写入文件(在运行实用程序时覆盖单个条目)并从程序中的文件中检索值,尽管我不知道如果这是最好的方法。

2 个答案:

答案 0 :(得分:1)

你可以让一个类包含信息并将其序列化为一个文本文件,它更容易访问并可以存储多个值, 然后先存储新值,先删除文件再重新创建文件。

另一种方法可能是包含信息的注册密钥。

希望它有用;)

答案 1 :(得分:0)

您可以使用文件系统的上次访问时间(在GNU / linux中,您可以使用ls -lu查看上次访问时间)。

这不是一个可移植的解决方案,因为它取决于文件系统和文件系统设置(请参阅下面的JoachimPileborg编辑)

此外,请查看this question以获取C中的最后访问时间(使用atime而不是mtime)。