[英]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 ++框架都有某种列出目录和文件的方法。 像wxWidgets或poco一样 ,还有更多。
关于dirent.h
。 这是一个标准的C Posix库,因此在与Posix兼容的系统上应该可用。 对于Windows,您也可以在此处获得它,其中包括有关如何使用它的说明。
编辑后:
在Windows上,您可以使用诸如FindFirstFile之类的东西( 此处为示例 ),然后您无需下载任何内容。 但它仅适用于Windows。 它不是用C ++构建的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.