1. 程式人生 > 程式設計 >基於C++實現讀取指定路徑檔案

基於C++實現讀取指定路徑檔案

電腦配置:window10,64位作業系統,基於x64的處理器,Microsoft Visual Studio Community 2019 Version 16.4.5

實現方法:使用 boost-filessystem 包。

使用 vcpkg 安裝方法: .\vcpkg.exe install boost-filesystem:x64-windows

程式碼:

#include <iostream>
#include <boost/filesystem.hpp>

using namespace std;
using namespace boost::filesystem;

int main()
{
  //指定圖片讀取資料夾,然後得到資料夾下的所有圖片
  string pathImageFile = "e:/picture";
  path pathFile(pathImageFile);
  vector<string> imageFiles;
  for (auto f = directory_iterator(pathFile); f != directory_iterator(); f++)
  {
    if (!is_directory(f->path()))  // We eliminate directories
    {
      imageFiles.push_back(f->path().filename().string());
      cout << f->path().filename().string() << endl;
    }
    else
      continue;
  }
}

執行結果:

基於C++實現讀取指定路徑檔案

查閱了一些這方便的中文資料,發現很少談到要引用包的,所以這裡寫了下使用第三方包的方法供大家參考。另外,因為本人從 python 轉過來,習慣了各式各樣的包,使用第三方包往往可以節省我們寫程式碼的時間,所以本人比較喜歡使用第三方軟體。查閱了英文的資料,發現可以實現得到指定檔名下檔案列表的包除了 boost-filesystem 以外還比較常用有 dirent 這個包,具體的大家可以參考以下連結,以上的程式碼也是其中的答案之一。

https://stackoverflow.com/questions/612097/how-can-i-get-the-list-of-files-in-a-directory-using-c-or-c

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。