Получить список файлов в определенном каталоге - C (СИ)
Формулировка задачи:
ДД!
Как-то можно получить список всех файлов в определенном каталоге?
Решение задачи: «Получить список файлов в определенном каталоге»
textual
Листинг программы
- #include <glib.h>
- #include <locale.h>
- int main(void) {
- GError * err;
- GDir * dir;
- if ( ! setlocale(LC_ALL, "ru_RU.UTF-8") )
- g_error("Can't set locale!\n");
- if ( dir = g_dir_open(g_get_home_dir(), 0, &err) ) {
- const char * fileName;
- while ( fileName = g_dir_read_name(dir) )
- g_print("%s\n", fileName);
- g_dir_close(dir);
- return 0;
- }
- else {
- g_print("Error!\n%s\n", err->message);
- return 1;
- }
- }
Объяснение кода листинга программы
- Подключаются необходимые библиотеки: Glib и locale.h
- В функции main() инициализируется GError* err, который будет использоваться для обработки ошибок.
- Устанавливается локаль на русскую, используя функцию setlocale().
- Открывается текущий каталог с помощью функции g_dir_open().
- Создается цикл, который будет выполняться до тех пор, пока функция g_dir_read_name() не вернет NULL (что означает достижение конца списка файлов).
- Каждый файл в цикле выводится на печать с помощью функции g_print().
- Функция g_dir_close() закрывает открытый каталог.
- Если при открытии каталога произошла ошибка, то выводится сообщение об ошибке.
- Функция main() возвращает 0, если все прошло успешно, и 1 в случае ошибки.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д