Файлы в каталоге в C++

Как получить все файлы в данном каталоге с помощью C++ на окнах?

Примечание:
Я нашел методы тем использованием dirent.h но мне нужен более стандартный путь...

Спасибо

14
задан qwe 4 July 2010 в 21:06
поделиться

4 ответа

Что насчет библиотеки boost: файловая система. Boost.org

10
ответ дан 1 December 2019 в 06:20
поделиться

Вы должны использовать функцию FindFirstFile (документированную здесь). Это стандартный (и предпочтительный) способ в Windows, однако он не является переносимым. Найденный вами заголовок dirent.h содержит определение стандартных POSIX функций.

Для получения полного кода посмотрите этот пример: Listing the Files in a Directory

5
ответ дан 1 December 2019 в 06:20
поделиться

Используйте FindFirstFile и связанные с ним функции. Пример:

HANDLE hFind;
WIN32_FIND_DATA data;

hFind = FindFirstFile("c:\\*.*", &data);
if (hFind != INVALID_HANDLE_VALUE) {
  do {
    printf("%s\n", data.cFileName);
  } while (FindNextFile(hFind, &data));
  FindClose(hFind);
}
30
ответ дан 1 December 2019 в 06:20
поделиться

Принятый стандарт для C ++ описан в N1975 ISO / IEC TS 18822: 2015, последний проект - N4100 . Возможно, у вашего компилятора его еще нет, и в этом случае Boost.FileSystem предоставляет по существу то же самое.

4
ответ дан 1 December 2019 в 06:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: