/* Ausgabe aller Dateinamen von symbolischen Verknüpfungen im * aktuellen Verzeichnis (28Jun23) */ #include #include #include #include #include #include int main() { DIR *dir = opendir("."); if (NULL == dir) { perror("opendir"); exit(EXIT_FAILURE); } struct dirent *ent; while (errno = 0, (ent = readdir(dir)) != NULL) { char *name = ent->d_name; struct stat buf; if (-1 == lstat(name, &buf)) { perror("lstat"); continue; } if (S_ISLNK(buf.st_mode)) { printf("%s\n", name); } } if (errno != 0) { perror("readdir"); exit(EXIT_FAILURE); } closedir(dir); /* TODO: Fehlerbehandlung */ return 0; }