Поиск файла в каталоге. Язык С, Linux - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Подскажите, пожалуйста, как написать простенькую программку на С, которая будет искать файл в каталоге, а результат поиска(имя, путь, размер, дату, права доступа и тому подобное) выводить на консоль. Имя файла и директорию я должен задать как аргументы командной строки, в таком виде:
Листинг программы
  1. if(argc == 1)
  2. printf("To less of arguments\n");
  3. else
  4. printf("search in dir : %s\n",argv[1]);

Решение задачи: «Поиск файла в каталоге. Язык С, Linux»

textual
Листинг программы
  1. DIR *dir;
  2. struct dirent *ent;
  3. if ((dir = opendir(a_path)) != NULL)
  4.     while ((ent = readdir(dir)) != NULL)
  5.         if (!strcmp(ent->d_name, a_fileName))

Объяснение кода листинга программы

  1. Объявлены две переменные: dir и ent.
  2. Открывается директория с помощью функции opendir.
  3. В цикле while с помощью функции readdir считывается каждый элемент директории.
  4. С помощью функции strcmp сравнивается имя файла из директории со значением переменной a_fileName.
  5. Если имена совпадают, то выполняется нужное действие (которое в коде не указано).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы