如果是做作业的孩子找到了这里,希望不要直接copy,供参考,其实我做的也不一定好嘻嘻。
其实这里,我考虑了输出的排序问题, 所以用了数组保存,可能感觉挺繁琐的 = =。一般情况下大家都是直接while输出。
#include<stdio.h> #include<stdlib.h> #include<unistd.h> #include<string.h> #include<dirent.h> #include<sys/types.h> #include<fcntl.h> #include<sys/stat.h> #include<pwd.h> #include<grp.h> #include<time.h> #define BUFFERSIZE 512 char* info[200][7]; int num; int allSize; int n_year; int isDir; void getCode(int mode,char *code){ switch(mode){ case 7: code[0] = 'r'; code[1] = 'w'; code[2] = 'x'; break; case 6: code[0] = 'r'; code[1] = 'w'; code[2] = '-'; break; case 5: code[0] = 'r'; code[1] = '-'; code[2] = 'x'; break; case 4: code[0] = 'r'; code[1] = '-'; code[2] = '-'; break; case 3: code[0] = '-'; code[1] = 'w'; code[2] = 'x'; break; case 2: code[0] = '-'; code[1] = 'w'; code[2] = '-'; break; case 1: code[0] = '-'; code[1] = '-'; code[2] = 'x'; break; default: code[0] = '-'; code[1] = '-'; code[2] = '-'; break; }; code[3]='