24 void get_fileType(mode_t m)
25 {
26 switch(m & S_IFMT)
27 {
28 case S_IFSOCK:putchar('s');break;
29 case S_IFIFO:putchar('p');break;
30 case S_IFLNK:putchar('l');break;
31 case S_IFREG:putchar('-');break;
32 case S_IFBLK:putchar('b');break;
33 case S_IFCHR:putchar('c');break;
34 case S_IFDIR:putchar('d');break;
35 }
36 return;
37 }
38
39 void get_fileuid(uid_t uid)
40 {
41 struct passwd* p=getpwuid(uid);
42 if(NULL==p)
43 {
44 ERR_MSG("getpwuid");
45 return;
46 }
47 printf("%s",p->pw_name);
48 }
49
50 void get_filegid(gid_t gid)
51 {
52 struct group* g=getgrgid(gid);
53 if(NULL==g)
54 {
55 ERR_MSG("getgrgid");
56 return;
57 }
58 printf("%s",g->gr_name);
59 }
60 void get_dir(DIR *dp,char name[])
61 {
62 int i=0;
63 struct stat sub;
64 while(1)
65 {
66 struct dirent* rp = readdir(dp);
67 char r_name[100]="";
68 strcpy(r_name,name);
69 strcat(r_name,"/");
2.c 36,9-12 24%
-- 可视 -- 8