Поиск файла в каталоге. Язык С, Linux - C (СИ)
Формулировка задачи:
Здравствуйте! Подскажите, пожалуйста, как написать простенькую программку на С, которая будет искать файл в каталоге, а результат поиска(имя, путь, размер, дату, права доступа и тому подобное) выводить на консоль.
Имя файла и директорию я должен задать как аргументы командной строки, в таком виде:
if(argc == 1) printf("To less of arguments\n"); else printf("search in dir : %s\n",argv[1]);
Решение задачи: «Поиск файла в каталоге. Язык С, Linux»
textual
Листинг программы
DIR *dir; struct dirent *ent; if ((dir = opendir(a_path)) != NULL) while ((ent = readdir(dir)) != NULL) if (!strcmp(ent->d_name, a_fileName))
Объяснение кода листинга программы
- Объявлены две переменные:
dir
иent
. - Открывается директория с помощью функции
opendir
. - В цикле
while
с помощью функцииreaddir
считывается каждый элемент директории. - С помощью функции
strcmp
сравнивается имя файла из директории со значением переменнойa_fileName
. - Если имена совпадают, то выполняется нужное действие (которое в коде не указано).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д