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

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

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

本文實(shí)例類似遍歷一個(gè)文件夾然后獲得該文件夾下的文件列表,可以隨意切換文件目錄,本來(lái)是用在我們小組寫(xiě)的簡(jiǎn)易ftp服務(wù)器上的一個(gè)給客戶端顯示的一個(gè)小插件,總之單拿出來(lái)應(yīng)該沒(méi)啥含量,調(diào)用了windows的一些API。

實(shí)例代碼:

#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("請(qǐng)選擇操作\n");
  printf("1.顯示當(dāng)前文件夾的所有文件\n");
  printf("2.返回上一級(jí)\n");
  printf("3.進(jìn)入文件夾\n");
  printf("4.進(jìn)入指定文件夾\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++遍歷文件夾的相關(guān)操作,希望對(duì)大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • C++如何采用Daemon進(jìn)行后臺(tái)程序的部署

    C++如何采用Daemon進(jìn)行后臺(tái)程序的部署

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

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

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

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

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

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

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

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

    下面小編就為大家?guī)?lái)一篇從C++單例模式到線程安全詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • C語(yǔ)言文件操作零基礎(chǔ)新手入門保姆級(jí)教程

    C語(yǔ)言文件操作零基礎(chǔ)新手入門保姆級(jí)教程

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

    C++中Boost.Chrono時(shí)間庫(kù)的使用方法

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

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

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

    淺析C++字節(jié)對(duì)齊容易被忽略的兩個(gè)問(wèn)題

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

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

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

最新評(píng)論