Программирование в стандарте POSIX


         

Программа сопоставляет имена файлов текущего


#include <dirent.h> #include <fnmatch.h> #include <errno.h> #include <stdio.h>
/* Программа сопоставляет имена файлов текущего каталога с заданными шаблонами */
#define SEARCH_DIR "."
static void match_names (DIR *dirp, const char *pattern) { struct dirent *dp;
rewinddir (dirp);
while (errno = 0, (dp = readdir (dirp)) != NULL) { if (fnmatch (pattern, dp->d_name, FNM_PERIOD) == 0) { (void) printf (" %s\n", dp->d_name); } }
if (errno != 0) { perror ("Ошибка при чтении каталога " SEARCH_DIR); } }
int main (int argc, char *argv []) { DIR *dirp; int i;
if ((dirp = opendir (SEARCH_DIR)) == NULL) { perror ("Ошибка при открытии каталога " SEARCH_DIR); return (-1); }
for (i = 1; i < argc; i++) { (void) printf ("Файлы каталога " SEARCH_DIR ", удовлетворяющие шаблону %s\n", argv [i]); match_names (dirp, argv [i]); }
return (closedir (dirp)); }
Листинг 6.55. Пример использования функций, обрабатывающих каталоги.
Закрыть окно



Содержание  Назад  Вперед