最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2017年06月12日 16:32:01   作者:whlook  
這篇文章主要為大家詳細(xì)介紹了C++獲取指定目錄下所有文件的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

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

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

需要包含的頭文件

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

函數(shù)實(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("\\*").c_str(), &fileinfo)) != -1) {
    do {
      // 保存文件的全路徑
      files.push_back(p.assign(path).append("\\").append(fileinfo.name));

      } while (_findnext(hFile, &fileinfo) == 0); //尋找下一個(gè),成功返回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("\\*").c_str(), &fileinfo)) != -1) {
    do {
      if ((fileinfo.attrib & _A_SUBDIR)) { //比較文件類(lèi)型是否是文件夾
        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); //尋找下一個(gè),成功返回0,否則-1
    _findclose(hFile);
  }
}

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

/*
path: 指定目錄
files: 保存結(jié)果
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("\\*" + fileType).c_str(), &fileinfo)) != -1) {
    do {
      // 保存文件的全路徑
      files.push_back(p.assign(path).append("\\").append(fileinfo.name));

      } while (_findnext(hFile, &fileinfo) == 0); //尋找下一個(gè),成功返回0,否則-1

    _findclose(hFile);
  }
}

4.測(cè)試

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;
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C語(yǔ)言?詳解如何刪除有序數(shù)組中的重復(fù)項(xiàng)

    C語(yǔ)言?詳解如何刪除有序數(shù)組中的重復(fù)項(xiàng)

    數(shù)組不擅長(zhǎng)插入(添加)和刪除元素。數(shù)組的優(yōu)點(diǎn)在于它是連續(xù)的,所以查找數(shù)據(jù)速度很快。但這也是它的一個(gè)缺點(diǎn)。正因?yàn)樗沁B續(xù)的,所以當(dāng)插入一個(gè)元素時(shí),插入點(diǎn)后所有的元素全部都要向后移;而刪除一個(gè)元素時(shí),刪除點(diǎn)后所有的元素全部都要向前移
    2022-03-03
  • 利用C語(yǔ)言實(shí)踐OOP,以及new,delete的深入分析

    利用C語(yǔ)言實(shí)踐OOP,以及new,delete的深入分析

    本篇文章是對(duì)用C語(yǔ)言實(shí)踐OOP,new,delete進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++依賴(lài)倒轉(zhuǎn)原則和里氏代換原則有什么好處

    C++依賴(lài)倒轉(zhuǎn)原則和里氏代換原則有什么好處

    設(shè)計(jì)模式(Design pattern)代表了最佳的實(shí)踐,通常被有經(jīng)驗(yàn)的面向?qū)ο蟮能浖_(kāi)發(fā)人員所采用。設(shè)計(jì)模式是軟件開(kāi)發(fā)人員在軟件開(kāi)發(fā)過(guò)程中面臨的一般問(wèn)題的解決方案。本篇介紹設(shè)計(jì)模式七大原則之一的依賴(lài)倒轉(zhuǎn)原則
    2023-02-02
  • C++?pimpl機(jī)制詳細(xì)講解

    C++?pimpl機(jī)制詳細(xì)講解

    PIMPL?是?C++?中的一個(gè)編程技巧,意思為指向?qū)崿F(xiàn)的指針。具體操作是把類(lèi)的實(shí)現(xiàn)細(xì)節(jié)放到一個(gè)單獨(dú)的類(lèi)中,并用一個(gè)指針進(jìn)行訪問(wèn)
    2022-08-08
  • C++實(shí)現(xiàn)趣味掃雷游戲

    C++實(shí)現(xiàn)趣味掃雷游戲

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)趣味掃雷游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • C++中類(lèi)的構(gòu)造函數(shù)初始值列表解讀

    C++中類(lèi)的構(gòu)造函數(shù)初始值列表解讀

    這篇文章主要介紹了C++中類(lèi)的構(gòu)造函數(shù)初始值列表,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C語(yǔ)言位圖算法詳解

    C語(yǔ)言位圖算法詳解

    這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)的位圖算法,主要包括了位圖算法的定義與應(yīng)用,對(duì)于C程序算法設(shè)計(jì)的學(xué)習(xí)有一定的借鑒價(jià)值,需要的朋友可以參考下
    2014-09-09
  • C++中vector的用法實(shí)例解析

    C++中vector的用法實(shí)例解析

    這篇文章主要介紹了C++中vector的用法,詳細(xì)描述了vector的各種常見(jiàn)的用法及注意事項(xiàng),需要的朋友可以參考下
    2014-08-08
  • Qt讀取Json文件的方法詳解(含源碼+注釋)

    Qt讀取Json文件的方法詳解(含源碼+注釋)

    QT本身就有讀取json的接口,簡(jiǎn)單又方便,下面這篇文章主要給大家介紹了關(guān)于Qt讀取Json文件(含源碼+注釋)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • VisualStudio2019配置OpenCV的詳細(xì)過(guò)程

    VisualStudio2019配置OpenCV的詳細(xì)過(guò)程

    這篇文章主要介紹了VisualStudio2019配置OpenCV,配置系統(tǒng)環(huán)境找到高級(jí)系統(tǒng)設(shè)置等一系列操作,本文分步驟通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01

最新評(píng)論

钟山县| 普兰店市| 沁源县| 彭州市| 酉阳| 卢龙县| 岑巩县| 新蔡县| 共和县| 名山县| 岫岩| 石城县| 安义县| 来宾市| 宝坻区| 军事| 清镇市| 荔波县| 临沂市| 平山县| 马公市| 泌阳县| 喀喇| 津市市| 青浦区| 桃园县| 玛曲县| 奉化市| 汕尾市| 太谷县| 德阳市| 白朗县| 离岛区| 本溪市| 谷城县| 富民县| 贵州省| 鹿邑县| 广宁县| 通辽市| 库车县|