文件的属性格式进行整理,贴近为ls -l的格式
#include <stdio.h>
#include <sys/types.h>
#include<sys/stat.h>
#include<unistd.h>
#include<time.h>
void getfileqx(mode_t mode)
{
int i;
for(i=0; i<9; i++)
{
if((mode&(0400>>i))==0)
{
putchar('-');
continue;
}
switch(i%3)
{
case 0:
putchar('r');
break;
case 1:
putchar('w');
break;
case 2:
putchar('x');
break;
}
}
return;
}
void time_rili(time_t time)
{
struct tm *fp;
fp=localtime(&time);
if(NULL==fp)
{
perror("localtime");
return;
}
printf(" %2d %2d:%2d:%2d", fp->tm_mday, fp->tm_hour, fp->tm_min, fp->tm_sec);
return;
}
int main(int argc, const char *argv[])
{
struct stat buf;
int p=stat("./1.c", &buf);
if(p<0)
{
perror("stat");
return -1;
}
//打印文件权限
getfileqx(buf.st_mode);
printf(" %ld", buf.st_nlink);
printf(" %d", buf.st_uid);
printf(" %d", buf.st_gid);
printf(" %ld", buf.st_size);
printf(" 9月");
time_rili(buf.st_ctime);
puts(" 1.c");
// printf("time=%ld\n", buf.st_ctime);
return 0;
}