繁体   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