c++ 遍歷資料夾
Link:http://www.cnblogs.com/summerRQ/articles/2375749.html
編寫程式遍歷資料夾及其子資料夾下所有檔案,並輸出到標準輸出流或者檔案流。
1. 先考慮在單層目錄下,遍歷所有檔案。以C:\WINDOWS為例:
用到資料結構_finddata_t,檔案資訊結構體的指標。
檔案屬性是無符號整數,取值為相應的巨集:_A_ARCH(存檔),_A_SUBDIR(資料夾),_A_HIDDEN(隱藏),_A_SYSTEM(系統),_A_NORMAL(正常),_A_RDONLY(只讀)。容易看出,通過這個結構體,我們可以得到關於該檔案的很多資訊。結合以下函式,我們可以將檔案資訊儲存到這個結構體中:
_findfirst 函式返回的是匹配到檔案的控制程式碼,資料型別為long。遍歷過程可以指定檔案型別,這通過FileName的賦值來實現,例如要遍歷C:\WINDOWS下的所有.exe檔案
2. 遍歷資料夾及其子資料夾下所有檔案。作業系統中資料夾目錄是樹狀結構,使用深度搜尋策略遍歷所有檔案。用到_A_SUBDIR屬性,可執行程式如下:
在判斷有無子目錄的if分支中,由於系統在進入一個子目錄時,匹配到的頭兩個檔案(夾)是"."(當前目錄),".."(上一層目錄)。需要忽略掉這兩種情況。當需要對遍歷到的檔案做處理時,在else分支中新增相應的程式碼就好
編寫程式遍歷資料夾及其子資料夾下所有檔案,並輸出到標準輸出流或者檔案流。
1. 先考慮在單層目錄下,遍歷所有檔案。以C:\WINDOWS為例:
用到資料結構_finddata_t,檔案資訊結構體的指標。
檔案屬性是無符號整數,取值為相應的巨集:_A_ARCH(存檔),_A_SUBDIR(資料夾),_A_HIDDEN(隱藏),_A_SYSTEM(系統),_A_NORMAL(正常),_A_RDONLY(只讀)。容易看出,通過這個結構體,我們可以得到關於該檔案的很多資訊。結合以下函式,我們可以將檔案資訊儲存到這個結構體中:
_findfirst 函式返回的是匹配到檔案的控制程式碼,資料型別為long。遍歷過程可以指定檔案型別,這通過FileName的賦值來實現,例如要遍歷C:\WINDOWS下的所有.exe檔案
2. 遍歷資料夾及其子資料夾下所有檔案。作業系統中資料夾目錄是樹狀結構,使用深度搜尋策略遍歷所有檔案。用到_A_SUBDIR屬性,可執行程式如下:
在判斷有無子目錄的if分支中,由於系統在進入一個子目錄時,匹配到的頭兩個檔案(夾)是"."(當前目錄),".."(上一層目錄)。需要忽略掉這兩種情況。當需要對遍歷到的檔案做處理時,在else分支中新增相應的程式碼就好
相關文章
- C/C++遍歷資料夾和檔案C++
- 遠端, 資料夾遍歷
- Java 資料夾遞迴遍歷Java遞迴
- PHP遞迴遍歷資料夾PHP遞迴
- 遍歷資料夾的幾種方式
- Matlab對資料夾的層次遍歷和深度遍歷Matlab
- Python遍歷資料夾常用的兩種方法!Python
- matlab遍歷資料夾下的所有檔案Matlab
- 資料遍歷
- C++ 遍歷queueC++
- indexedDB 遍歷資料Index
- VC++使用FindFirstFile,FindNextFile遍歷一個資料夾C++
- 利用 python 遍歷多級資料夾處理不同檔案Python
- Java遞迴遍歷資料夾及檔案過濾器使用(FileFilter)Java遞迴過濾器Filter
- Java遍歷資料夾的兩種方法(非遞迴和遞迴)Java遞迴
- 樹的遍歷c/c++C++
- js資料處理——遍歷JS
- c# 上傳壓縮包 解壓,遍歷資料夾和檔案C#
- C++遍歷日誌log目錄,並提取資料進行分析C++
- jquery遍歷得到的 Map 資料,jQuery
- 資料結構與演算法——二叉樹的前序遍歷,中序遍歷,後序遍歷資料結構演算法二叉樹
- C++樹——遍歷二叉樹C++二叉樹
- C++ Vector遍歷的幾種方式()C++
- Python字典的遍歷,包括key遍歷/value遍歷/item遍歷/Python
- ASP.NET Core 中的檔案提供程式 遍歷資料夾讀取檔案資訊ASP.NET
- 寫個批處理指令碼來幫忙幹活---遍歷資料夾&字串處理指令碼字串
- 遞迴遍歷磁碟下的某一資料夾中所有檔案,並copy檔案生成檔案和帶資料夾的檔案遞迴
- 資料結構 二叉樹遍歷資料結構二叉樹
- 圖的儲存與遍歷C++實現C++
- C++單連結串列遞迴遍歷操作C++遞迴
- 資料結構之遍歷二叉樹資料結構二叉樹
- js的map遍歷和array遍歷JS
- java去掉陣列中重複的資料和遍歷資料Java陣列
- 二叉樹建立,前序遍歷,中序遍歷,後序遍歷 思路二叉樹
- 二叉樹的建立、前序遍歷、中序遍歷、後序遍歷二叉樹
- 現代c++模板超程式設計:遍歷tupleC++程式設計
- C++讀取某個資料夾下面的子資料夾及其所有檔案C++
- python對常見資料型別的遍歷Python資料型別