国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 成都市| 巨野县| 三穗县| 金门县| 宁城县| 宁远县| 赤峰市| 葫芦岛市| 松江区| 武隆县| 南昌市| 浦东新区| 津南区| 增城市| 广州市| 梅河口市| 临城县| 芜湖市| 视频| 安远县| 湖南省| 威海市| 涪陵区| 惠安县| 甘南县| 阿克陶县| 聊城市| 涡阳县| 治多县| 莱西市| 昌图县| 巴塘县| 扎赉特旗| 阳山县| 视频| 丁青县| 上高县| 漳浦县| 仁寿县| 平湖市| 隆回县|