000
02.02.2008, 16:25 Uhr
johnnyeast
|
Hallo an alle.
Ich habe ine kleines Problemchen, bei dem ich nicht weiterkomme. Ich versuche gerade eine Funktion zu schreiben, die einen Ordner öffnet und alle Dateinamen mit einer bestimmten Endung in ein dynamisch allokiertes Array speichert. Ich lasse den Ordner erst einmal durchsuchen um zu wissen wieviele Dateien diese Endung haben und wie lang der längste Dateiname ist. Dann allokiere ich ein charr** s in dem ich die Dateinamen beim 2. Durchlauf abspeichern möchte.
die allokierung sieht folgendermaßen aus und scheint auch zu funktionieren.
| C++: |
s = (char**) malloc (number_of_problems * sizeof(char*)); for(int j=0; j<number_of_problems;j++) { s[j] = (char*) malloc (maxlength *sizeof(char)); }
|
der Abspeichervorgang ist bisher in dieser form:
| C++: |
while ((dir_entry = readdir(dirp)) != NULL) { if (strstr(dir_entry->d_name,".gms")!=NULL) { s[i] = dir_entry->d_name; i++; } }
|
jedoch haut das irgendwie nicht so richtig hin wiie ich es gemacht habe. Hat jemand eine Idee, was ich verändern muss, damit es klappt. Habe schon überall gesucht, doch irgendwie habe ich keine Lösung gefunden.
mmfg Johnny |