Получить список файлов в определенном каталоге - 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 в случае ошибки.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д