Mac OS X 存储文件创建时间,我知道如何读取它stat()
from <sys/stat.h>
.
我找不到一种方法,如何在 C 中设置创建时间。它一定是可能的,因为实用程序SetFile
可以做到 (SetFile
是 Apple 命令行工具包的一部分):
SetFile -d '12/31/1999 23:59:59' file.txt
我怎样才能在C中做到这一点?
您可以使用.
如果 times 为非 NULL,则假定指向两个 timeval 的数组
结构。访问时间设置为第一个元素的值,
修改时间设置为第二个元素的值。
And:
为了
支持文件诞生(创建)时间的文件系统(例如 UFS2),
如果第二个元素的出生时间将被设置为第二个元素的值
元素早于当前设置的出生时间。设置两者的出生
time 和修改时间,需要调用两次;第一个设置的
出生时间和设置(可能是较新的)修改的第二个时间
时间
举个例子:
struct timeval times[2];
memset(times, 0, sizeof(times));
times[0].seconds = 946684799; /* 31 Dec 1999 23:59:59 */
times[1].seconds = 946684799;
utimes("/path/to/file", ×);
如果传递的修改时间早于文件的当前创建时间,则将设置创建时间。然后你可以打电话utimes
如果您想设置不同的修改时间,请再次设置。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)