国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++獲取指定目錄下的所有文件

2020-01-26 14:05:29
字體:
來源:轉載
供稿:網(wǎng)友

本文實例為大家分享了C++獲取指定目錄下所有文件的具體代碼,供大家參考,具體內(nèi)容如下

1.獲得指定目錄下的所有文件(不搜索子文件夾)

需要包含的頭文件

#include <io.h>#include <string>#include <vector>#include <fstream>

函數(shù)實現(xiàn)

void getAllFiles(string path, vector<string>& files) {  // 文件句柄  long hFile = 0;  // 文件信息  struct _finddata_t fileinfo;   string p;  if ((hFile = _findfirst(p.assign(path).append("http://*").c_str(), &fileinfo)) != -1) {    do {      // 保存文件的全路徑      files.push_back(p.assign(path).append("http://").append(fileinfo.name));      } while (_findnext(hFile, &fileinfo) == 0); //尋找下一個,成功返回0,否則-1    _findclose(hFile);  }}

2.獲取指定目錄下的所有文件(搜索子文件夾)

void getAllFiles(string path, vector<string>& files) {  //文件句柄  long hFile = 0;  //文件信息  struct _finddata_t fileinfo;   string p;   if ((hFile = _findfirst(p.assign(path).append("http://*").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("http://").append(fileinfo.name));          //遞歸搜索          getAllFiles(p.assign(path).append("http://").append(fileinfo.name), files);        }      }      else {        files.push_back(p.assign(path).append("http://").append(fileinfo.name));      }    } while (_findnext(hFile, &fileinfo) == 0); //尋找下一個,成功返回0,否則-1    _findclose(hFile);  }}

3.獲取指定格式的文件(不搜索子文件夾)

/*path: 指定目錄files: 保存結果fileType: 指定的文件格式,如 .jpg*/void getAllFiles(string path, vector<string>& files,string fileType) {  // 文件句柄  long hFile = 0;  // 文件信息  struct _finddata_t fileinfo;   string p;  if ((hFile = _findfirst(p.assign(path).append("http://*" + fileType).c_str(), &fileinfo)) != -1) {    do {      // 保存文件的全路徑      files.push_back(p.assign(path).append("http://").append(fileinfo.name));      } while (_findnext(hFile, &fileinfo) == 0); //尋找下一個,成功返回0,否則-1    _findclose(hFile);  }}

4.測試

int main(int argc, char** argv){  vector<string> temp;  getAllFiles("J://faces//test", temp,".jpg");  for (int i = 0; i < temp.size();++i )  {    cout << temp[i] << endl;  }  return 0;}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 阳朔县| 正镶白旗| 安平县| 龙南县| 商南县| 开鲁县| 礼泉县| 定结县| 临西县| 中宁县| 海南省| 五河县| 昂仁县| 延边| 霞浦县| 乃东县| 乌鲁木齐县| 抚顺市| 肥城市| 濮阳县| 宜春市| 共和县| 鄂托克旗| 巴林右旗| 佛坪县| 灵璧县| 资兴市| 五指山市| 黄龙县| 海原县| 河源市| 茶陵县| 清水县| 天全县| 乡宁县| 佛坪县| 务川| 南京市| 唐海县| 含山县| 区。|