dirent

dirent

dirent,LINUX系統下的一個頭文件,在這個目錄下/usr/include,為了獲取某文件夾目錄內容,所使用的結構體。

語言編程


LINUX系統下的一個頭文件,在這個目錄下/usr/include
為了獲取某文件夾目錄內容,所使用的結構體。
引用頭文件#include

結構體說明


struct dirent
{
long d_ino;
off_t d_off;
unsigned short d_reclen;
unsigned char d_type;
char d_name [NAME_MAX+1];
}

相關函數

opendir(),readdir(),closedir();

使用實例

#include #include
#include #include
#include
#ifndef DT_DIR
#error "DT_DIR not defined, maybe d_type not a mumber of struct dirent!"
#endif
int
main(int argc, char*argv[])
{
staticchar dot[] =".", dotdot[] ="..";
constchar*name;
DIR *dirp;
struct dirent *dp;
if (argc ==2)
name = argv[1];
else
name = dot;
dirp = opendir(name);
if (dirp == NULL) {
(void)fprintf(stderr, "%s: opendir(): %s: %s\n",
argv[0], name, strerror(errno));
exit(errno);
}
while ((dp = readdir(dirp)) != NULL) {
if (dp->d_type == DT_DIR)
if ( strcmp(dp->d_name, dot)
&& strcmp(dp->d_name, dotdot) )
(void)printf("%s/\n", dp->d_name);
}
(void)closedir(dirp);
return (0);
}