我已经看过并尝试过不同的方式来显示文件上次修改的时间,并且我使用的是C编程语言。
我想要实现的是用于确定给定文件修改时间的CPU密集度最低的函数,但不是将其显示为字符串或显示字符串的一部分,我想将其存储为大整数,所以我以后可以做数学。
所以基本上我想模仿PHP文件时间的操作,但是在C语言中,因为我正在编写一个apache模块。
任何想法如何解决这个问题或想法在没有做出超长的事情的情况下用什么好的功能来实现这个目标?
答案 0 :(得分:4)
您可以声明stat
结构并使用stat( )
来获取定义的stat
结构中的文件详细信息。
示例代码:
#include <time.h>
#include <sys/stat.h>
#include <stdio.h>
int main()
{
struct stat file_details;
stat("homework.txt", &file_details);
time_t modify_time = file_details.st_mtime;
printf("Last modified : %lld",modify_time);
return 0;
}
我不知道如何管理数学,但这是modify_time
time_t {aka long int}
中的{{1}}。
答案 1 :(得分:0)
我花了20分钟才找到合适的功能,但我设法滚动此功能以将时间作为实际数字返回:
函数中的F表示文件名,当我调用函数时,我将文件作为硬编码字符串传递。
time_t filemodtime(char *f){struct stat attr;stat(f,&attr);return time(&attr.st_mtime);}