簡體   English   中英

C ++搜索目錄和文件

[英]C++ search directories and files

有人可以告訴我是否有一個C ++內置的庫,可以用來獲取文件和目錄的列表嗎? 我環顧四周,看到有人在使用dirent.h,但我需要下載它(我認為)。

謝謝

PS我看過fstream,但據我所知,那僅用於讀取和輸出文件。

忘記提及。 我不想下載任何東西,我只想看看是否有C ++內置的庫可以直接使用BAT。 這也適用於WINDOWS

Boost :: Filesystem怎么樣? 支持目錄迭代並且可移植。

您可以使用Boost Filesystem庫。

http://www.boost.org/doc/libs/1_31_0/libs/filesystem/doc/index.htm

鏈接上還提供了一些不錯的示例。

編輯:

如果不下載第3方庫,就沒有便攜式方法。 對於Windows,您可以使用MFC中的CFileFind類。

#include中使用的Visual Studio 2017中提供了使用命名空間std :: filesystem的功能

 #include <iostream> #include <iostream> #include <fstream> #include <filesystem> #include <chrono> #include <thread> #include <functional> namespace fs = std::filesystem; void Files_in_Directory(); fs::path path_Copy_Directory = "E:\\Folder"; fs::path path_Paste_Directory = "E:\\Folder1"; int main() { Files_in_Directory() return 0; } void Files_in_Directory() { for (const auto & entry : fs::directory_iterator(path_Copy_Directory)) { std::cout << entry.path() << std::endl; } } 

由於其他人已經提到了boost :: filesystem ,因此還有其他選擇。 幾乎每個C ++框架都有某種列出目錄和文件的方法。 wxWidgetspoco一樣 ,還有更多。

關於dirent.h 這是一個標准的C Posix庫,因此在與Posix兼容的系統上應該可用。 對於Windows,您也可以在此處獲得它,其中包括有關如何使用它的說明。

編輯后:

在Windows上,您可以使用諸如FindFirstFile之類的東西( 此處為示例 ),然后您無需下載任何內容。 但它僅適用於Windows。 它不是用C ++構建的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM