Чтение имен файлов с C ++ - PullRequest
0 голосов
/ 04 марта 2009

Есть ли способ прочитать имена файлов из папки, используя чисто C (или C ++)? Это означает без включения windows.h (без FindFirstFile () и т. Д.).

Не похоже, что fstream обладает такой функциональностью. Я знаю, что имена файлов зависят от операционной системы, но я надеялся, что есть какая-то библиотека, которая позволит это делать в Windows.

Ответы [ 4 ]

10 голосов
/ 04 марта 2009

boost файловой системы - хорошее решение. Конечно, он все еще будет использовать вызовы API Windows (при сборке на Windows), но это отвлечено от вас.

4 голосов
/ 04 марта 2009

C ++ обычно не предоставляет вам такой функциональности. Кроссплатформенное решение заключается в использовании boost::filesystem.

0 голосов
/ 04 марта 2009

Если вы хотите использовать opendir () и readdir () в Windows, вы можете скачать MinGW, порт Windows из знаменитой коллекции компиляторов GNU. Он включает в себя порты Windows файлов заголовков UNIX, включая dirent.h, который позволит вам использовать указанные функции. Имейте в виду, что они будут вызывать нативный API в любом случае.

-John

0 голосов
/ 04 марта 2009

Попробуйте функции POSIX opendir () и readdir () для итерации по каталогам. См. эту ссылку для справочной страницы с хорошим примером кода. Эти функции должны быть доступны на большинстве платформ, как Windows, так и UNIX.

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