版權所有 © 2014 tutorialspoint
#include <unistd.h> #include <linux/types.h> #include <linux/dirent.h> #include <linux/unistd.h> #include <errno.h> int getdents(unsigned int fd, struct dirent *dirp, unsigned int count);
int getdents(unsigned int fd, struct dirent *dirp, unsigned int count);
系統呼叫getdents() 從fd指向的目錄讀取多個dirent結構到dirp指向的記憶體區域。引數count是記憶體區域的大小。
dirent結構宣告如下:
struct dirent { long d_ino; /* inode number */ off_t d_off; /* offset to next dirent */ unsigned short d_reclen; /* length of this dirent */ char d_name [NAME_MAX+1]; /* filename (null-terminated) */ }
d_ino是inode編號。d_off是從目錄開始到下一個dirent開始的距離。d_reclen是整個dirent的大小。d_name是空終止的檔名。
此呼叫取代了readdir(2)。
readdir (2)
廣告