Поиск файла в каталоге. Язык С, 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))

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

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

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


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

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

7   голосов , оценка 4 из 5
Похожие ответы