C ++ поиск каталогов и файлов - PullRequest
2 голосов
/ 02 ноября 2011

Может кто-нибудь сказать мне, есть ли в C ++ встроенная библиотека, которую я могу использовать для получения списка файлов и каталогов?Я посмотрел вокруг и вижу людей, использующих dirent.h, но мне нужно скачать его (я думаю).

Спасибо

PS Я смотрел на fstream, но это только длячтение и вывод файлов, насколько я знаю.

ЗАБЫЛИ НА МЕНЯ.Я НЕ ХОЧУ ЗАГРУЗИТЬ НИЧЕГО, Я ПРОСТО ХОЧУ ВИДЕТЬ, ЕСЛИ ЭТО БИБЛИОТЕКА, СОЗДАННАЯ В С ++, ЧТО Я МОГУ ИСПОЛЬЗОВАТЬ ПРЯМО С БАТ.ЭТО ДЛЯ ОКНА ASWELL

Ответы [ 4 ]

3 голосов
/ 02 ноября 2011

Как насчет Boost :: Filesystem ?Поддерживает итерацию каталога и является переносимым.

2 голосов
/ 02 ноября 2011

Вы можете использовать библиотеку Boost Filesystem.

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

Некоторые хорошие образцы также представлены по ссылке.

EDIT:

Без загрузки сторонней библиотеки не существует переносимого способа сделать это. Для окон вы можете использовать CFileFind класс из MFC.

1 голос
/ 22 апреля 2019

Использование пространства имен 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;
			
	}
	
}
1 голос
/ 02 ноября 2011

Поскольку другие уже упоминали boost :: filesystem , существуют и другие альтернативы.Почти у каждого C ++ фреймворка есть какой-то способ перечисления каталогов и файлов.Как wxWidgets или poco и многие другие.

Относительно dirent.h.Это стандартная библиотека Posix C , поэтому в Posix-совместимых системах она должна быть доступна.Для Windows вы также можете получить его здесь и оно содержит инструкции по его использованию.

После редактирования:

В Windows вы можете использовать такие вещи, как FindFirstFile ( пример здесь ), и тогда вам не нужно ничего скачивать.Но это работает только на Windows.Это не сборка в C ++.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...