我在OS X上遇到问题,其中stat
间歇性地返回某些文件的st_mtime
值为0的结构。
为什么会发生这种情况,是否有任何替代功能可以为我提供文件的可靠修改日期?
答案 0 :(得分:1)
如果您使用的是Objective-C,NSFileManager有一个名为"attributesOfItemAtPath:error:
"的漂亮API,其中NSDictionary对象中传回的内容之一是"fileModificationDate
"。
您也可以使用CoreFoundation CFURL函数,例如"CFURLCopyResourcePropertyForKey
",其中包含一些名为"kCFURLAttributeModificationDateKey
"的函数,您可以获得它的值。
答案 1 :(得分:0)
我不知道他们的可靠性,但ls -l
或find -ls
呢?
修改强>
我刚发现:Getting the last modified date of a file in C
在OS X上,
st_mtimespec.tv_sec
相当于st_mtime
。
答案 2 :(得分:0)
这可能听起来很愚蠢,但请检查stat()
的返回代码。如果它返回除零之外的任何内容,则会出现错误(例如,找不到文件)。
我花了几个小时跟踪自己。