遍歷輸出指定目錄下的所有檔案

2021-05-22 05:43:01 字數 842 閱讀 8540

opendir(),readdir(),closedir()

這三個函式主要用來遍歷目錄。在使用這三個函式前必須先包括

以下兩個標頭檔案:

#include

#include

opendir

函式的原型為:

dir *opendir(const char *name);

它返回乙個

dir*

型別,這就是乙個控制代碼啦,你不用管它的內部結構是什麼樣的,只要知道這個

控制代碼就是等一下要傳給

readdir()

函式的引數就行了。

readdir

函式的原型為:

struct dirent *readdir(dir *dir);

看它的引數就知道該引數是

opendir

函式返回的控制代碼,而該函式的返回值是

struct dirent*

型別,

這裡我們必須了解一下這個結構體:

struct dirent ;

這個結構體的

d_name

存放的就是檔案的名字,這裡的檔案包括普通檔案,目錄檔案等等,在

linux

的思想中,所有的東西都是檔案。

closedir

函式的原型為:

int closedir(dir *dir);

這個函式就不用多說了,一般有開(

open

),就有關(

close

),這樣的結構經常可出看到, 如

fopen

,fclose

等等。

三個函式介紹完了,直接來乙個例子吧:

遍歷指定目錄下的所有特定檔案

import os 遍歷資料夾 def walkfile file for root,dirs,files in os.walk file root 表示當前正在訪問的資料夾路徑 dirs 表示該資料夾下的子目錄名list files 表示該資料夾下的檔案list 遍歷檔案 for f in fil...

golang 併發遍歷指定目錄下的所有檔案大小

這篇博文旨在寫乙個遍歷指定目錄下的所有檔案大小的demo,最後列印出該目錄所佔的空間大小,還會拿沒有使用goroutine的情況下,計算所花費的時間。先上乙個沒有使用goroutine的版本 package main import sync time fmt path filepath os log...

遍歷目錄下的所有檔案

下面這段 演示了查詢乙個目錄下所有檔案的過程,將檔名存放在result.txt檔案中。void cmydlg oncollectallfilename myfile.writestring lpctstr myfinder.getfilepath t n mylist.removehead myfi...