1. 程式人生 > >dirent.h是unix類目錄操作的標頭檔案

dirent.h是unix類目錄操作的標頭檔案

是POSIX.1標準定義的unix類目錄操作的標頭檔案,包含了許多UNIX系統服務的函式原型,例如opendir函式、readdir函式.

例:

opendir函式: DIR *opendir(const char *pathname);返回值:若成功則返回 指標,若出錯則返回NULL。 struct dirent *readdir(DIR *dp); 返回值:若成功則返回指標,若在目錄結尾或出錯則返回NULL。


列出一個目錄下所有檔案的名字,簡要實現unix下ls命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include<stdio.h> #include<dirent.h>   int  main( int  argc, char * agrv[]){ DIR* dp; struct  dirent* dirp;
  if (argc!=2){    printf ( "usage:lsdirectory_name\n" );    //不返回的話,程式會執行出錯    return  0; }
if ((dp=opendir(agrv[1]))==NULL){    printf ( "cannotopen%s" ,agrv[1]);    //不返回的話,程式會執行出錯    return  0; } while ((dirp=readdir(dp))!=NULL){    printf ( "%s\n" ,dirp->d_name); } closedir(dp); //c語言以非0為真,所以程式執行成功的話返回1,執行失敗返回0 return  1; }