linux中DIR、dirent、opendir()、readdir()、closedir()函數的使用

一、

1、DIR

屬性:數據類型;

頭文件:#include <dirent.h>

用法:定義一個指向文件目錄的指針;

舉例:DIR *dirpt =null;

2、dirent

屬性:數據類型,結構體;

頭文件:#include <dirent.h>

用法:定義一個用於獲取某文件夾目錄內容,所使用的結構體;

舉例:struct dirent *entry;

3、DIR *opendir(const char *name)

屬性:函數;

頭文件:#include <dirent.h>

用法:此函數打開一個與目錄名name相對應的目錄流,如果成功,返回指向這個目錄流的指針,並且指向的是這個目錄流中第一個目錄項;如果失敗,返回NULL;

參數:目錄;

舉例: DIR *dirpt;

             dirpt = opendir("/home/fun");

4、struct  dirent *readdir(DIR *dir);

屬性:函數;

頭文件:#include <dirent.h>

用法:返回指向dirent的結構體,這個結構體代表了由dir指向的目錄流中的下一個目錄項,如果讀到end-of-fiie或者出現錯誤,則返回NULL;

參數:打開的目錄流指針。

dirent結構體如下:

             struct dirent { 
             ino_t          d_ino;       /* inode number */ 
             off_t          d_off;       /* offset to the next dirent */ 
             unsigned short d_reclen;    /* length of this record */ 
             unsigned char  d_type;      /* type of file */ 
             char           d_name[256]; /* filename */ 
         };

舉例:

   DIR *dirpt = opendir("/home/fun");

   struct dirent *entry;

   while(entyr=readdir(dirpt))

{

}

5、int  closedir(DIR *dir);

屬性:函數;

頭文件:#include <dirent.h>

用法:關閉目錄流dir,成功,返回0,失敗返回NULL;

舉例:DIR *dirpt=opendir("/home/fun");

           closedir(dirpt);

********************華麗的分割線**********************

這是鄙人的理解,如果哪裏不正確,歡迎指正,謝謝



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章