hallo,
gibt es die möglichkeit bei der funktion readdir (in c) .. und . bei der ausgabe nicht anzuzeigen?
danke
[c] readdir() .. und . nicht in der ausgabe anzeigen
[c] readdir() .. und . nicht in der ausgabe anzeigen
cu L@w
---
LINUX - because booting is for adding hardware!
---
LINUX - because booting is for adding hardware!
hi,
mit "readdir" allein geht das nicht, aber wenn ich dich richtig verstehe, reicht doch eine Zeile:
Wenn's wirklich nur die beiden "." und ".." sein sollen, wuerde ich
schreiben. Zur Not gibt's auch noch "scandir"; erscheint mir aber als Overkill.
mit "readdir" allein geht das nicht, aber wenn ich dich richtig verstehe, reicht doch eine Zeile:
Code: Alles auswählen
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
DIR *verzeichnis;
struct dirent *eintrag;
verzeichnis = opendir (".");
if (verzeichnis == NULL) {
perror (".");
exit (1);
}
while ((eintrag = readdir (verzeichnis))) {
if (*eintrag->d_name == '.') continue; // die entscheidende Zeile
printf ("%s\n", eintrag->d_name);
}
closedir (verzeichnis);
return 0;
}
Code: Alles auswählen
if (strcmp (eintrag->d_name, ".") == 0) continue;
if (strcmp (eintrag->d_name, "..") == 0) continue;
Beware of programmers who carry screwdrivers.