C語言列出某個目錄下的檔案

2021-06-09 19:24:24 字數 807 閱讀 7054

c語言本身沒有提供象dir_list()這樣的函式來列出某個目錄下所有的檔案。不過,利用c語言的幾個目錄函式,你可以自己編寫乙個dir_list()函式。   

首先,標頭檔案dos.h定義了乙個find_t結構,它可以描述dos下的檔案資訊,包括檔名、時間、日期、大小和屬性。其次,c編譯程式庫中有_dos_findfirst()和_dos_findnext()這樣兩個函式,利用它們可以找到某個目錄下符合查詢要求的第乙個或下乙個檔案。   

dos_findfirst()函式有三個引數,第乙個引數指明要查詢的檔名,例如你可以用「*.*」指明要查詢某個目錄下的所有檔案。第二個引數指明要查詢的檔案屬性,例如你可以指明只查詢隱含檔案或子目錄。第三個引數是指向乙個find_t變數的指標,查詢到的檔案的有關資訊將存放到該變數中。   

dos_findnext()函式在相應的目錄中繼續查詢由_dos_findfirst()函式的第乙個引數指明的檔案。_dos_findnext()函式只有乙個引數,它同樣是指向乙個find_t變數的指標,查詢到剛檔案的有關資訊同樣將存放到該變數中。

利用上述兩個函式和find_t結構,你就可以遍歷磁碟上的某個目錄,並列出該目錄下所有的檔案,請看下例:   

#include #include #include #include #include #include typedef struct find_t file_block

void main(void);

void main(void)

printf("\nend of directory listing. \n" );

}

使用C C 列出某個目錄下的檔案

用 c c 列出目錄下的檔案,在linux下可採用readdir 函式來實現,實現過程為 開啟目錄 迴圈讀目錄,輸出目錄下檔案 關閉目錄指標 include include void printdir const char path int nret hnd 0 1 1 while nret 0 f...

列出目錄下的所有檔案

定於需要列出的目錄位址 dir c apmserv5.2.6 www htdocs ahinksns ahinkphp 用 opendir 開啟目錄,失敗則中止程式 handle opendir dir or die cannot open dir echo files in dir 用 readd...

python列出目錄下所有的檔案

import os def listallfilesanddirs level,path files os.listdir path for file in files print level 1 file if os.path.isdir file listallfilesanddirs leve...