#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#include <time.h>
void get_FilePermssion(mode_t m)
{
int i = 0;
int x = 0400;
while(i < 3)
{
if(m & x)
putchar('r');
else
putchar('-');
x = x>>1;
if(m & x)
putchar('w');
else
putchar('-');
x = x>>1;
if(m & x)
putchar('x');
else
putchar('-');
x = x>>1;
i++;
}
}
int main(int argc, const char *argv[])
{
struct stat buf;
if(stat("./01_read_write.c",&buf) < 0)
{
perror("stat");
return -1;
}
struct tm *t = NULL;
//文件类型以及文件权限
// printf("mode:%d/n",buf.st_mode);
get_FilePermssion(buf.st_mode);
//文件硬链接数
printf(" %ld ",buf.st_nlink);
//文件所属组
printf(" %d\t %d ",buf.st_uid,buf.st_gid);
//文件大小
printf(" %ld ",buf.st_size);
//文件修改的时间
t = localtime(&buf.st_ctime);
printf("%02d月 %02d ",t->tm_mon+1,t->tm_mday);
printf(" %02d:%02d\n",t->tm_hour,t->tm_min);
return 0;
}