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);
********************華麗的分割線**********************
這是鄙人的理解,如果哪里不正確,歡迎指正,謝謝
總結
以上是生活随笔為你收集整理的linux中DIR、dirent、opendir()、readdir()、closedir()函数的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 模拟纳指stock的小例子
- 下一篇: switchHost使用指南