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