#include "head.h"
#include <stdlib.h>
char* filemode(mode_t mode,char ptr[],long num)
{
if(num<10)
return NULL;
char per[]="rwx";
char brr[10]="";
for(int i=0;i<9;i++)
{
if((mode& 0400>>i)==0)
{
//putchar('-');
brr[i]='-';
}
else
{
//putchar(per[i%3]);
brr[i]=per[i%3];
}
}
strcpy(ptr,brr);
return ptr;
}
int main(int argc, const char *argv[])
{
struct stat buf;
if(stat("./01_filein.c",&buf)<0)
{
perror("stat");
return -1;
}
char brr[10]="";
filemode(buf.st_mode,brr,sizeof(brr));
//文件类型及权限
printf("%s\n",brr);
// printf("mode:0%o\n",buf.st_mode);
//
//文件硬链接
printf("hlink:%ld\n",buf.st_nlink);
//文件用户名和组用户名
printf("uid:%d gid:%d\n",buf.st_uid,buf.st_gid);
//文件大小
printf("size:%ld\n",buf.st_size);
//文件修改时间
time_t t1;
struct tm *timenow;
t1=buf.st_ctime;
timenow=localtime(&t1);
int mon=timenow->tm_mon+1;
int day=timenow->tm_mday;
int min=timenow->tm_min;
int sec=timenow->tm_sec;
switch(mon)
{
case 1:
printf("一月\t");
break;
case 2:
printf("二月\t");
break;
case 3:
printf("三月\t");
break;
case 4:
printf("四月\t");
break;
case 5:
printf("五月\t");
break;
case 6:
printf("六月\t");
break;
case 7:
printf("七月\t");
break;
case 8:
printf("八月\t");
case 9:
printf("九月\t");
break;
case 10:
printf("十月\t");
break;
case 11:
printf("十一月\t");
break;
case 12:
printf("十二月\t");
}
printf("%02d %02d:%02d\t",day,min,sec);
//printf("time:%ld\n",buf.st_ctime);
system("ls -l");
return 0;
}