dirent

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

語言編程

LINUX系統下的一個頭檔案,在這個目錄下/usr/include

為了獲取某資料夾目錄內容,所使用的結構體。

引用頭檔案#include

結構體說明

struct dirent

{

long d_ino; /* inode number 索引節點號 */

off_t d_off; /* offset to this dirent 在目錄檔案中的偏移 */

unsigned short d_reclen; /* length of this d_name 檔案名稱長 */

unsigned char d_type; /* the type of d_name 檔案類型 */

char d_name [NAME_MAX+1]; /* file name (null-terminated) 檔案名稱,最長256字元 */

}

相關函式

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

}

相關詞條

熱門詞條

聯絡我們