"struct dirent", wie sieht es aus?



  • Hallo liebe Forumsmitglieder,

    ich habe eine Frage zur Basic Library Function readdir. Diese liefert einen Struct vom Typ "dirent" zurück. Leider weiß ich nicht, wie dieser Strukt aussieht (also welche Attribute er hat) 😞
    Auch aus meiner dirent.h werde ich nicht schlau?
    Bin für jeden Tipp dankbar,
    Loana 🙂



  • In der Manpage steht eine Beschreibung man: readdir(3).
    <edit>
    hmm, in der OpenBSD Version nicht 😞 Hier

    struct dirent {
    long d_ino; /* Inode Nummer /
    off_t d_off; /
    Offset zum nächsten dirent /
    unsigned short d_reclen;/
    Länge dieses Eintrags /
    char d_name[NAME_MAX+1]; /
    Dateiname */
    };



  • sieh mal in dem pronix-c-kurs nach, da steht dies alles ausführlich beschrieben.
    ZITAT:

    Kommen wir gleich zur nächsten Funktion readdir. Hierzu der Syntax...

    #include <sys/types.h>
    #include <dirent.h>

    struct dirent *readdir(DIR *dir);

    Mit dieser Funktion Lesen wir aus dem Verzeichnis das wir zuvor mit opendir geöffnet haben Schrittweise aus. Bei einem Fehler gibt diese Funktion NULL zurück. Ansonsten einen Zeiger vom Typ struct dirent, der folgendermaßen aussieht....

    struct dirent {
    ino_t d_ino; //i-node Nr. (nicht bei Dos)
    char d_name[x+1]; //Dateiname mit abschl. '\0'
    };



  • Vielen Dank für eure Beiträge, sie haben mir sehr geholfen!

    Gruss, Loana

    PS: Wo finde ich denn diesen pronix-c-kurs?



  • ein link auf den pronix-kurs steht hier unter
    www.c-plusplus.net/cms/
    dort ist es der vierte Link von oben

    für mich war es sehr nützlich als Einstieg für die Programmierung von Linux



  • kingruedi schrieb:

    In der Manpage steht eine Beschreibung man: readdir(3).
    <edit>
    hmm, in der OpenBSD Version nicht 😞 Hier

    struct dirent {
    long d_ino; /* Inode Nummer /
    off_t d_off; /
    Offset zum nächsten dirent /
    unsigned short d_reclen;/
    Länge dieses Eintrags /
    char d_name[NAME_MAX+1]; /
    Dateiname */
    };

    Wobei nur der Dateiname von Posix vorgeschrieben ist. Alle weiteren Elemente
    sind optional.

    Uebrigens, ein Blick in die FAQ, wirkt manchmal wunder 😉

    mfg
    v R


Anmelden zum Antworten