c++搜索目录和文件

C++ search directories and files

本文关键字:文件 搜索 c++      更新时间:2023-10-16

有人能告诉我是否有一个内置在c++中的库,我可以使用它来获取文件和目录列表?我看了一下周围,我看到人们在使用direct .h,但我想我需要下载它。

感谢

注:我看过fstream,但据我所知,它只用于读取和输出文件。

忘了说。我不想下载任何东西,我只是想看看是否有一个在c++中构建的库,我可以直接使用。

Boost::Filesystem怎么样?支持目录迭代,可移植

您可以使用Boost Filesystem库。

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

链接中还提供了一些不错的示例。

编辑:

如果不下载第三方库,就没有可移植的方法。对于windows,您可以使用MFC中的CFileFind类。

使用命名空间std::filesystem可以在visual studio 2017中使用,您可以在#include

#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。