Dirent
Dirent — это программный интерфейс для получения информации о файлах и каталогах на языках C и C++. Данный проект предоставляет интерфейс Dirent для Microsoft Visual Studio.
Установка
Скачайте последний установочный пакет Dirent с GitHub и распакуйте установочный файл с помощью 7-zip, например. Установочный пакет содержит файл include/dirent.h, а также несколько примеров и тестовых программ.
Чтобы сделать Dirent доступным для всех проектов C/C++ на вашем компьютере, просто скопируйте файл include/dirent.h в системный каталог include, например, C:\Program Files\Microsoft Visual Studio 9.0\VC\include. Всё необходимое содержится в одном файле dirent.h, и вы можете сразу начать использовать Dirent — нет необходимости добавлять файлы в ваш проект Visual Studio.
В качестве альтернативы, если вы хотите распространять dirent.h вместе со своим проектом, скопируйте файл include/dirent.h во вновь созданный подкаталог в вашем проекте и добавьте этот каталог в путь включения в Windows, исключая каталог в Linux/UNIX. Это позволяет вашему проекту компилироваться с собственным dirent.h на Linux/UNIX, заменяя функциональность в Microsoft Windows.
Примеры программ
Установочный пакет содержит примеры программ:
Программа | Назначение |
---|---|
ls | Список файлов в каталоге, например, ls «c:\Program Files» |
find | Поиск файлов в подкаталогах, например, find «c:\Program Files\CMake» |
updatedb | Создание базы данных файлов на диске, например, updatedb c:\ |
locate | Поиск файла из базы данных, например, locate notepad |
scandir | Печатный отсортированный список имён файлов в каталоге, например, scandir . |
du | Вычисление использования диска, например, du «C:\Program Files» |
cat | Печать текстового файла на экран, например, cat include/dirent.h |
Для сборки примеров программ сначала установите CMake на свой компьютер. Затем откройте командную строку и создайте временный каталог c:\temp\dirent для файлов сборки:
c:\
mkdir temp
mkdir temp\dirent
cd temp\dirent
Создайте файлы сборки следующим образом:
cmake d:\dirent
где d:\dirent — корневой каталог пакета Dirent, содержащий этот файл README.md.
После завершения работы CMake откройте Visual Studio, загрузите сгенерированный файл dirent.sln из каталога сборки и соберите всё решение.
Когда сборка завершится, откройте командную строку и перейдите в каталог Debug, чтобы запустить примеры программ. Например:
cd c:\temp\dirent\Debug
.\ls .
Проект Visual Studio также содержит решение с именем check, которое можно использовать для проверки правильности работы API Dirent. Просто соберите решение из Visual Studio для запуска тестовых программ.
Поддержка UTF-8
По умолчанию имена файлов и каталогов в API Dirent выражаются в текущей выбранной кодовой странице Windows. Если вы хотите использовать кодировку символов UTF-8, замените основную функцию функцией _main и преобразуйте аргументы широких символов в строки UTF-8, как показано в следующем фрагменте кода. ``` аргументы основной программе */ int errorcode = _main(argc, mbargv);
/* Освобождаем аргументы UTF-8 */ for (int i = 0; i < argc; i++) { free(mbargv[i]); }
/* Освобождаем таблицу аргументов */ free(mbargv); return errorcode; } #else int main(int argc, char *argv[]) { return _main(argc, argv); } #endif
Для получения дополнительной информации о поддержке UTF-8 см. setlocale в Visual Studio
[Справочник библиотеки времени выполнения C](https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/setlocale-wsetlocale?view=msvc-160#utf-8-support).
# Вклад
Мы рады получить от вас вклад. Подробнее см. в файле
[CONTRIBUTING](CONTRIBUTING.md).
# Копирование
Dirent может свободно распространяться по лицензии MIT. Подробнее см. файл
[LICENSE](LICENSE).
# Альтернативы Dirent
Я портировал Dirent на Microsoft Windows в 1998 году, когда было доступно всего несколько альтернатив. Однако с тех пор ситуация изменилась, и теперь и [Cygwin](http://www.cygwin.com), и [MingW](http://www.mingw.org) позволяют компилировать большое количество UNIX-программ в Microsoft Windows. Они оба предоставляют полный API Dirent, а также многие другие API UNIX. MingW можно использовать даже для коммерческих приложений!
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )