程序:
#include<stdio.h>
#include<fcntl.h>
#include<sys/stat.h>
#include<sys/types.h>
#include<unistd.h>
void main()
{
struct stat stbuf;
stat("alphabet",&stbuf);
printf("Access time = %d\n",stbuf.st_atime);
printf("Modification time = %d\n",stbuf.st_mtime);
printf("Change time = %d\n",stbuf.st_mtime);
}
上述程序提供以下输出:
输出:
$ ./a.out
Access time = 1441619019
Modification time = 1441618853
Change time = 1441618853
$
以秒为单位打印日期。在C中,将时间打印为由stat函数返回的人类可读格式的方法是什么。返回类型stbuf.st_atime是__time_t。
提前致谢...
答案 0 :(得分:7)
尝试使用time.h库中的char* ctime (const time_t * timer);函数。
#include <time.h>
#include<stdio.h>
#include<fcntl.h>
#include<sys/stat.h>
#include<sys/types.h>
#include<unistd.h>
void main()
{
struct stat stbuf;
stat("alphabet",&stbuf);
printf("Access time = %s\n", ctime(&stbuf.st_atime));
printf("Modification time = %s\n", ctime(&stbuf.st_mtime));
printf("Change time = %s\n", ctime(&stbuf.st_mtime));
}
它会给出以下结果:
$ ./test
Access time = Mon Sep 07 15:23:31 2015
Modification time = Mon Sep 07 15:23:31 2015
Change time = Mon Sep 07 15:23:31 2015