練習:實現列出某個目錄中全部文件屬性(文件大小,文件最後修改時間,文件名)目錄名由參數傳入 ./dir /home/linux
linux
1 #include <sys/stat.h> 2 #include <dirent.h> 3 #include <stdio.h> 4 int main(int argc, char *argv[]) 5 { 6 DIR *dp; //定義一個結構體變量 打開文件目錄,返回的就是指向DIR結構體的指針 7 dp = opendir(argv[1]); 8 struct dirent *ep; //用來保存一個文件 這種文件包含了其餘文件的名字以及指向與這些文件有關的信息的指針 9 ep = readdir(dp); //readdir ,從目錄中讀出一個文件 10 11 while( ep != NULL) 12 { 13 if(ep->d_name[0] != '.') 14 { 15 char path[100] = { 0 }; 16 struct stat s; 17 sprintf(path, "%s/%s", argv[1], ep->d_name); // /home/linux/a.txt 18 int ret = stat(path, &s); 19 if(ret >= 0) 20 { 21 printf("%s:%d:%s\n", ep->d_name,(int)s.st_size,asctime(localtime(&s.st_atime))); 22 } 23 } 24 ep = readdir(dp); 25 } 26 }