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分支中新增相應的程式碼就好
相關文章
- 遠端, 資料夾遍歷
- php遍歷資料夾以及子目錄;PHP
- 遍歷資料夾的幾種方式
- 【C#】-遍歷資料夾簡約的方式C#
- Python遍歷資料夾常用的兩種方法!Python
- matlab遍歷資料夾下的所有檔案Matlab
- 資料遍歷
- C++ 遍歷queueC++
- 利用 python 遍歷多級資料夾處理不同檔案Python
- indexedDB 遍歷資料Index
- Java遞迴遍歷資料夾及檔案過濾器使用(FileFilter)Java遞迴過濾器Filter
- 樹的遍歷c/c++C++
- js資料處理——遍歷JS
- c# 上傳壓縮包 解壓,遍歷資料夾和檔案C#
- ASP.NET 8 AOT 遍歷資料夾獲取檔名稱及時長ASP.NET
- jquery遍歷得到的 Map 資料,jQuery
- ASP.NET Core 中的檔案提供程式 遍歷資料夾讀取檔案資訊ASP.NET
- C++樹——遍歷二叉樹C++二叉樹
- Python字典的遍歷,包括key遍歷/value遍歷/item遍歷/Python
- 寫個批處理指令碼來幫忙幹活---遍歷資料夾&字串處理指令碼字串
- c++遍歷陣列的多種方式C++陣列
- R語言遍歷資料夾求取其中所有柵格檔案的平均值R語言
- 資料結構 二叉樹遍歷資料結構二叉樹
- c++ 獲取資料夾目錄名字C++
- MSSQL遍歷資料庫根據列值查詢資料SQL資料庫
- 圖的儲存與遍歷C++實現C++
- C++單連結串列遞迴遍歷操作C++遞迴
- git fetch批處理,遍歷一個資料夾下的所有子目錄,執行git fetch --allGit
- python對常見資料型別的遍歷Python資料型別
- C++讀取某個資料夾下面的子資料夾及其所有檔案C++
- js的map遍歷和array遍歷JS
- 現代c++模板超程式設計:遍歷tupleC++程式設計
- React中兩種遍歷資料的方法(map、forEach)React
- 遍歷 FlowDocument
- jQuery 遍歷jQuery
- Linuxshell遍歷Linux
- Keil一鍵新增.c檔案和標頭檔案路徑指令碼--可遍歷新增整個資料夾指令碼
- 資料結構學習筆記-先序遍歷森林資料結構筆記
- SQL Server通過建立臨時表遍歷更新資料SQLServer