linux遍歷目錄及其子目錄

2021-07-10 08:17:36 字數 961 閱讀 4733

1 在linux下遍歷某一目錄下內容linux下歷遍目錄的方法一般是這樣的

2 開啟目錄->讀取->關閉目錄

4 #include

5 dir *opendir(const char *dirname);

6 struct dirent *readdir(dir *dirp);

7 int closedir(dir *dirp);

1 dirent結構體定義:

struct dirent ;

其中inode表示存放的是該檔案的結點數目(具體可了解linux下的檔案系統),d_off 是檔案在目錄中的編移,這兩個基本很少用。

d_type表示檔案型別:

enum

; d_reclen認為是紀錄的長度,計算方式應該是4(d_ino)+4(d_off)+2(d_reclen)+1(d_type)+1(補齊位)+4n(d_name會自動補齊:

1.jpg為8,12.jpg也為8,1234.jpg也為8,12345.jpg則為12);所以一般d_reclen是20和24(其中.和..是16)。

d_name表示檔名,如test.jpg

unsigned char d_type,檔案或目錄的型別。它有可能的取值如下:

dt_unknown,未知的型別

dt_reg,普通檔案

dt_dir,普通目錄

dt_fifo,命名管道或fifo

dt_sock,本地套介面

dt_chr,字元裝置檔案

dt_blk,塊裝置檔案

linux c 遍歷目錄及其子目錄 舉例:

#include #include #include #include #include #include #include #include using namespace std;

void listdir(char *path)

else{

cout

mkdirp 遞迴建立目錄及其子目錄

如果要建立目錄a並建立目錄a的子目錄b,沒有用 p引數的情況下mkdir會逐個建立目錄 mkdir a mkdir a b 加上引數 p就可以直接建立2個目錄mkdir p a b 如果目錄a 不存在就建立 mkdirp命令是npm的包,可以代替mkdir p操作。intall npm instal...

C 遍歷子目錄檔案

winform介面設計 放置乙個textbox控制項 命名為 txtpath 兩個按鈕控制項 乙個btnselect,乙個btnstart 乙個顯示檔案列表label控制項 lblfilelist 還有乙個重要的folderbrowserdialog1控制項。1 stringbuilder strf...

C 遍歷資料夾及其子目錄

using system using system.collections using system.collections.generic using system.io using system.security.accesscontrol using system.text ilistlst ...