C++讀取某個資料夾下面的子資料夾及其所有檔案
下面是輸出當前目錄下的所有資料夾以及檔案的絕對路徑(當然也可以是相對路徑,由輸入的路徑決定),下面的函式介面可以改裝為單輸出檔案或者資料夾的介面,這是一個大方面的總介面。
#include <fstream>
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
using namespace std;
void getAllFiles(string path, vector<string>& files)
{
//檔案控制程式碼
long hFile = 0;
//檔案資訊
struct _finddata_t fileinfo; //很少用的檔案資訊讀取結構
string p; //string類很有意思的一個賦值函式:assign(),有很多過載版本
if ((hFile = _findfirst(p.assign(path).append("\\*").c_str(), &fileinfo)) != -1)
{
do
{
if ((fileinfo.attrib & _A_SUBDIR)) //判斷是否為資料夾
{
if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0)
{
files.push_back(p.assign(path).append("/").append(fileinfo.name));//儲存資料夾名字
getAllFiles(p.assign(path).append("/").append(fileinfo.name), files);//遞迴當前資料夾
}
}
else //檔案處理
{
files.push_back(p.assign(path).append("/").append(fileinfo.name));//檔名
}
} while (_findnext(hFile, &fileinfo) == 0); //尋找下一個,成功返回0,否則-1
_findclose(hFile);
}
}
//測試
void main()
{
string DATA_DIR = "D:/CoderMaker/data_sets/lfw";
vector<string> files;
//測試
char * DistAll = "AllFiles.txt";
getAllFiles(DATA_DIR, files);//所有檔案與資料夾的路徑都輸出
ofstream ofn(DistAll); //輸出檔案流
int size = files.size();
int FaiNum = 0;
ofn << size << endl;
for (int i = 0; i<size; i++)
{
ofn << files[i] << endl;
}
ofn.close();
return 0;
}
測試結果
相關文章
- python 如何刪除資料夾下的所有檔案和子資料夾?Python
- c/c++、matlab讀取資料夾下的檔案C++Matlab
- 讀取資料夾檔案
- 查詢某資料夾下所有子資料夾內的py檔案-3一行程式碼搞定行程
- [python] 資料夾所有檔案讀取,正則化,json使用PythonJSON
- matlab遍歷資料夾下的所有檔案Matlab
- 如果報錯資訊說是無法刪除某個資料夾裡面的某個檔案
- nodejs遞迴資料夾獲取所有檔案路徑NodeJS遞迴
- Python求取資料夾內的檔案數量、子資料夾內的檔案數量Python
- 把多個資料夾中的檔案批量放到一個資料夾
- 遞迴修改資料夾下面所有檔案裡面的的abc為abcde遞迴
- linux刪除資料夾下所有檔案命令是什麼 linux刪除資料夾下內所有內容怎麼操作Linux
- NodeJs批量require資料夾中的所有檔案NodeJSUI
- python列出資料夾所有檔案有哪些方法?Python
- 畸形檔案 資料夾
- 轉移資料夾及其裡面所有內容
- 獲取一個資料夾下所有指定字尾名(.java)的檔案(包括子資料夾中的內容),並將這些檔案的絕對路徑寫入到一個文字檔案中Java
- Qt 選擇資料夾、建立資料夾以及建立檔案QT
- 工作經驗: linux 壓縮當前資料夾下所有檔案Linux
- .Net引用根目錄子資料夾下的dll檔案
- C# 將資料夾中檔案複製到另一個資料夾C#
- C++檔案系統操作5 - 跨平臺列出指定目錄下的所有檔案和資料夾C++
- .gitignore 在已忽略資料夾中不忽略指定檔案、資料夾...Git
- win10怎麼快速獲取資料夾內檔名 win10怎麼讀取資料夾內檔名Win10
- c++ 獲取資料夾目錄名字C++
- windows cmd拉取linux資料夾下的檔案,並解壓WindowsLinux
- Android 播放raw資料夾下音訊檔案Android音訊
- ASP.NET Core 中的檔案提供程式 遍歷資料夾讀取檔案資訊ASP.NET
- 用python寫一個指令碼:將指定目錄下及其所有子資料夾的所有的“srt”檔案的內容合併到一個新的srt檔案中Python指令碼
- python中按照資料夾中檔案的排列順序讀取檔案內容Python
- python的應用 | 提取指定資料夾下所有PDF檔案的頁數Python
- Node.js折騰記一:讀指定資料夾,輸出該資料夾的檔案樹Node.js
- 使用C#選擇資料夾、開啟資料夾、選擇檔案C#
- 資料夾裡的檔案怎麼設定跟外資料夾同名
- 獲取AFP共享的資料夾及其許可權
- 【Linux】linux下刪除/清空資料夾/檔案命令Linux
- 利用scp 遠端上傳下載檔案/資料夾
- python包在哪個資料夾下?Python