欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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++如何采用Daemon進行后臺程序的部署

    C++如何采用Daemon進行后臺程序的部署

    這篇文章主要介紹了C++采用Daemon進行后臺程序的部署,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • C++利用循環(huán)和棧實現(xiàn)走迷宮

    C++利用循環(huán)和棧實現(xiàn)走迷宮

    這篇文章主要為大家詳細介紹了C++利用循環(huán)和棧實現(xiàn)走迷宮,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • C++如何將二叉搜索樹轉換成雙向循環(huán)鏈表(雙指針或數(shù)組)

    C++如何將二叉搜索樹轉換成雙向循環(huán)鏈表(雙指針或數(shù)組)

    這篇文章主要介紹了C++如何將二叉搜索樹轉換成雙向循環(huán)鏈表(雙指針或數(shù)組),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • C++實現(xiàn)bmp格式圖像讀寫

    C++實現(xiàn)bmp格式圖像讀寫

    這篇文章主要為大家詳細介紹了C++實現(xiàn)bmp格式圖像讀寫,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 從C++單例模式到線程安全詳解

    從C++單例模式到線程安全詳解

    下面小編就為大家?guī)硪黄獜腃++單例模式到線程安全詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • C語言文件操作零基礎新手入門保姆級教程

    C語言文件操作零基礎新手入門保姆級教程

    在實際應用中,我們往往需要對文件進行操作,下面這篇文章主要給大家分享了關于C語言文件操作的零基礎新手入門保姆級教程,文中通過示例代碼以及圖片介紹的非常詳細,需要的朋友可以參考下
    2021-10-10
  • C++中Boost.Chrono時間庫的使用方法

    C++中Boost.Chrono時間庫的使用方法

    chrono是一個time library, 源于boost,現(xiàn)在已經是C++11標準了,下面這篇文章主要給大家介紹了關于C++中Boost.Chrono時間庫的使用方法,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-09-09
  • c文件匯編后函數(shù)參數(shù)傳遞的不同之處

    c文件匯編后函數(shù)參數(shù)傳遞的不同之處

    在w7 32位系統(tǒng)下把c文件匯編后,確實與mac后的差異很大??刹粌H僅是寄存器eax與rax的區(qū)別。我想說的是函數(shù)參數(shù)傳遞的不同
    2013-11-11
  • 淺析C++字節(jié)對齊容易被忽略的兩個問題

    淺析C++字節(jié)對齊容易被忽略的兩個問題

    今天我就和大家分享一下C++字節(jié)對齊容易被忽略的兩個問題。以下問題也是我實際開發(fā)工作中遇到的,如果有不同意見歡迎交流
    2013-07-07
  • c++實現(xiàn)MD5算法實現(xiàn)代碼

    c++實現(xiàn)MD5算法實現(xiàn)代碼

    用c++實現(xiàn)了md5算法。包含 md5.h 和md5.cpp 兩個文件。主要參考百度百科 “MD5” 原理,代碼中變量命名也是參考其中的公式,程序的使用說明在md5.h 文件的末尾注釋中
    2013-11-11

最新評論