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


         

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


#include
#include
#include
#include
/* Программа сопоставляет имена файлов текущего каталога с заданными шаблонами */
#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));
}

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