日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

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

發(fā)布時間:2023/12/20 linux 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux中DIR、dirent、opendir()、readdir()、closedir()函数的使用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、

1、DIR

屬性:數(shù)據(jù)類型;

頭文件:#include <dirent.h>

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

舉例:DIR *dirpt =null;

2、dirent

屬性:數(shù)據(jù)類型,結構體;

頭文件:#include <dirent.h>

用法:定義一個用于獲取某文件夾目錄內(nèi)容,所使用的結構體;

舉例:struct dirent *entry;

3、DIR *opendir(const char *name)

屬性:函數(shù);

頭文件:#include <dirent.h>

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

參數(shù):目錄;

舉例: DIR *dirpt;

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

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

屬性:函數(shù);

頭文件:#include <dirent.h>

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

參數(shù):打開的目錄流指針。

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);

屬性:函數(shù);

頭文件:#include <dirent.h>

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

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

? ? ? ? ? ?closedir(dirpt);

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

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



總結

以上是生活随笔為你收集整理的linux中DIR、dirent、opendir()、readdir()、closedir()函数的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。