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...