(Linux/Unix) Verzeichnisstruktur einlesen



  • Hallo !!

    Seit 3 Tagen furtz ich mit einer Rekursiven Funktion rum, welche meinen kompletten Verzeichnisbaum einlesen bzw. ausgeben soll.
    Irgendwo hackts immer noch, und ich komm einfach net weiter 😡

    Hat wer eine simple Funktion rumliegen die er bitte posten könnte ??
    Simpel insofern, das es jemand der erst seit 3 Monaten mit C programmiert auch versteht 😉

    Danke
    Baboo



  • Poste deine Funktion doch mal!



  • schon einiger Schrott drinnen damit ich sehen kann was passiert ...

    Is übrigens Linux, wird aber in Windows net viel anders sein

    void baum_abstieg(char *pfad)
    {

    DIR *dir;
    struct dirent *dir_info;
    struct stat attribut;
    char dirname[1000];
    char isdir[1000];
    static int tiefe=1;

    chdir(pfad);
    dir=opendir(pfad);
    while((dir_info=readdir(dir))!= NULL)
    {

    if(stat(dir_info->d_name,&attribut)!=-1 && strcmp(dir_info->d_name,"..")!=0 && strcmp(dir_info->d_name,".")!=0)
    if(attribut.st_mode & S_IFDIR )
    {
    if(opendir(dir_info->d_name)!=NULL)
    {
    getcwd(isdir,1000);
    strcpy(dirname,dir_info->d_name);
    fprintf(stdout,"%s/%s\n",isdir,dirname);
    getcwd(isdir,1000);
    strcat(isdir,"/");
    strcat(isdir,dir_info->d_name);
    tiefe++;
    baum_abstieg(isdir);
    }
    }
    }
    if (tiefe>0)
    {
    chdir("..");
    fprintf(stdout,"Pfad: %s, Tiefe: %d\n",isdir,tiefe);
    tiefe--;
    }
    }



  • und ab nach linux


Anmelden zum Antworten