本文介绍了如何在Mac OS X下的C中设置文件的创建日期?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时删除!!

Mac OS X存储文件创建时间,我知道如何使用stat()<sys/stat.h>读取文件.

Mac OS X stores file creation time, and I know how to read it with stat() from <sys/stat.h>.

我找不到一种方法来设置C语言中的创建时间.由于实用程序SetFile可以做到(因此,SetFile是Apple命令行工具包的一部分),因此一定有可能实现:

I could not find a way, how to set the creation time in C. It must be possible somehow, as the utility SetFile can do it (SetFile is part of the command line tools package from Apple):

SetFile -d '12/31/1999 23:59:59' file.txt

如何在C语言中完成?

推荐答案

您可以使用 utimes .

并且:

例如:

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", &times);

如果传递的修改时间早于文件的当前创建时间,则将设置创建时间.如果要设置其他修改时间,则可以再次调用utimes.

If the modification time passed is older than the current creation time of the file, the creation time will be set. You can then call utimes again if you want to set a different modification time.

这篇关于如何在Mac OS X下的C中设置文件的创建日期?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

1403页,肝出来的..

09-07 02:04