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

C++遍歷文件夾獲取文件列表

 更新時間:2016年05月11日 15:51:29   作者:leno米雷  
這篇文章主要為大家詳細介紹了C++遍歷文件夾獲取文件列表的相關資料,感興趣的小伙伴們可以參考一下

本文實例類似遍歷一個文件夾然后獲得該文件夾下的文件列表,可以隨意切換文件目錄,本來是用在我們小組寫的簡易ftp服務器上的一個給客戶端顯示的一個小插件,總之單拿出來應該沒啥含量,調用了windows的一些API。

實例代碼:

#include<iostream>
#include<stdlib.h>
#include<windows.h>
#include<fstream>
#include<stdio.h>
#include<vector>
#include<string>
#pragma comment (lib, "winmm.lib")
using namespace std;

void MainMenu()
{
  printf("請選擇操作\n");
  printf("1.顯示當前文件夾的所有文件\n");
  printf("2.返回上一級\n");
  printf("3.進入文件夾\n");
  printf("4.進入指定文件夾\n");
  printf("5.退出\n");
}
void ShowFileList(string filename)
{
  WIN32_FIND_DATAA p;
  vector<string> filelist;
  HANDLE h = FindFirstFileA(filename.c_str(), &p);
  filelist.push_back(p.cFileName);
  while (FindNextFileA(h, &p))
  {
    filelist.push_back(p.cFileName);
    if (filelist.back() == "." || filelist.back() == "..")
    {
      filelist.pop_back();
    }
  }
  for (int i = 0; i < filelist.size(); i++)
  {
    cout << filelist[i] << endl;
  }
}

void ShowLastFileList(string & filepath)
{
  string filepath2 = filepath;
  string tmp = "../";
  tmp += filepath2;
  filepath = tmp;
  ShowFileList(tmp);
}
void ShowSelectFileList(string filepath)
{
  string yourchoose;
  cin >> yourchoose;
  yourchoose += '/';
  string filepath2 = filepath;
  yourchoose += filepath2;
  ShowFileList(yourchoose);
}
void case4(string filepath)
{
  string filename;
  cin >> filename;
  filename += '/';
  filename += filepath;
  ShowFileList(filename);
}
int main()
{
  string filepath;
  filepath = "*.*";
  string filePath = filepath;
  while (1)
  {
    system("CLS");
    MainMenu();
    int n;
    cin >> n;
    switch (n)
    {
    case 1:
      system("CLS");
      ShowFileList(filePath);
      system("pause");
      break;
    case 2:
      system("CLS");
      ShowLastFileList(filePath);
      system("pause");
      break;
    case 3:
      system("CLS");
      ShowSelectFileList(filePath);
      system("pause");
      break;
    case 4:
      system("CLS");
      case4(filepath);
      system("pause");
      break;
    case 5:
      exit(0);
      break;
    default:
      break;
    }
  }
  return 0;
}

以上就是C++遍歷文件夾的相關操作,希望對大家的學習有所幫助。

相關文章

  • C++如何調用python并取返回值

    C++如何調用python并取返回值

    這篇文章主要介紹了C++如何調用python并取返回值問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • C++?AVL樹插入新節(jié)點后的四種調整情況梳理介紹

    C++?AVL樹插入新節(jié)點后的四種調整情況梳理介紹

    AVL樹是高度平衡的而二叉樹,它的特點是AVL樹中任何節(jié)點的兩個子樹的高度最大差別為1,本文主要給大家介紹了C++如何實現(xiàn)AVL樹,需要的朋友可以參考下
    2022-08-08
  • 基于Qt實現(xiàn)電子木魚小游戲

    基于Qt實現(xiàn)電子木魚小游戲

    今年最火爆的解壓小游戲電子木魚,現(xiàn)在許多軟件都上架了這個小程序。我在網(wǎng)上看了一下基本上都是用py和Java寫的,所以我用QT重新寫了一下,作為小白練手項目非常適合,快跟隨小編一起學習一下吧
    2023-01-01
  • 一文詳解C++關鍵詞auto的用法

    一文詳解C++關鍵詞auto的用法

    在早期C/C++中auto的含義是:使用auto修飾的變量,是具有自動存儲器的局部變量,但遺憾的是一直沒有人去使用它,在 C++11中,auto不再是一個存儲類型指示符,而是作為一個新的類型指示符來指示編譯器,本文將給大家詳細的介紹一下C++關鍵詞auto的用法,需要的朋友可以參考下
    2024-02-02
  • 詳解C++ sizeof(上)

    詳解C++ sizeof(上)

    這篇文章主要介紹了C++ sizeof的相關資料,幫助大家更好的理解和學習c++,感興趣的朋友可以了解下
    2020-08-08
  • C++?測試框架GoogleTest入門介紹

    C++?測試框架GoogleTest入門介紹

    這篇文章主要為大家介紹了C++測試框架GoogleTest入門基礎,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • C語言實現(xiàn)將字符串轉換為數(shù)字的方法

    C語言實現(xiàn)將字符串轉換為數(shù)字的方法

    這篇文章主要介紹了C語言實現(xiàn)將字符串轉換為數(shù)字的方法,涉及系統(tǒng)函數(shù)atoi()函數(shù)的使用技巧,需要的朋友可以參考下
    2014-12-12
  • C++ read函數(shù)讀入int整形數(shù)據(jù)

    C++ read函數(shù)讀入int整形數(shù)據(jù)

    這篇文章主要介紹了C++ read函數(shù)讀入int整形數(shù)據(jù)的相關資料,需要的朋友可以參考下
    2016-07-07
  • 基于Windows C++ 應用程序通用日志組件的使用詳解

    基于Windows C++ 應用程序通用日志組件的使用詳解

    眾所周知,在調試、跟蹤和執(zhí)行應用程序的過程中,程序的日志能為這些工作提供大量有價值的運行信息。因此,程序的日志對應用程序的運行、維護至關重要
    2013-05-05
  • C語言實現(xiàn)簡易掃雷程序

    C語言實現(xiàn)簡易掃雷程序

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)簡易掃雷程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07

最新評論

金阳县| 田东县| 石棉县| 稷山县| 沈丘县| 外汇| 获嘉县| 睢宁县| 炉霍县| 阳泉市| 双流县| 双桥区| 尼木县| 青铜峡市| 南雄市| 万山特区| 黎川县| 枣庄市| 兴山县| 隆回县| 虞城县| 宁津县| 南平市| 盐城市| 讷河市| 清水县| 越西县| 黑山县| 碌曲县| 方城县| 云南省| 定兴县| 柘城县| 乡城县| 酒泉市| 阿鲁科尔沁旗| 延长县| 蓝山县| 武城县| 南阳市| 安龙县|