Veröffentlicht 26. Juli 200619 j Hallo, ich habe ein Problem und zwar Versuche ich verzweifelt alle Unterverzeichnisse auszulesen aber es will einfach nicht klappen... Ich möchte nach allen Mp3 Dateien die auf dieser Festplatte sind suchen und danach mit ihnen etwas machen (id3tag). Meine Funktion zum Auslesen sieht bis jetzt so aus: void SearchFiles(CString szPath) { HANDLE hFile; CString szSubDir; CString szCreateSearchString; // Create the Base Search Directory for the Mp3 Files szCreateSearchString = szCreateSearchString + szPath + "*.mp3"; hFile = FindFirstFile(szCreateSearchString,&wfd); do { if (!((wfd.cFileName[0] == '.') && ((wfd.cFileName[1] == '.' && wfd.cFileName[2] == 0) || wfd.cFileName[1] == 0))) { //Verzeichnisse if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { szSubDir = szSubDir + szPath + wfd.cFileName; SearchFiles(szSubDir); printf(" %s", szSubDir); } //Dateien else { CString szFile; szFile = szPath; szFile = szFile + wfd.cFileName; readMp3(szFile); } } }while (FindNextFile(hFile,&wfd)); FindClose(hFile); } Waehre nett wenn sich das jemand mal kurz anschauen könnte. Vielen Dank.
26. Juli 200619 j So findest du natürlich nur die Unterverzeichnisse, die auf .mp3 enden. Kannst du mir vielleicht sagen wo genau der Fehler liegt, ich schau es mir die ganze Zeit an und Probiere aber ich finde ihn nicht. Danke
26. Juli 200619 j Du willst mit einer Suche gleichzeitig alle Verzeichnisse, aber nur bestimmte Dateien finden. Und das funktioniert nicht. Du musst die Unterverzeichnisse und die passenden Dateien in getrennten Suchläufen ermitteln.
26. Juli 200619 j Vorsicht mit wfd. Auf jeden Fall sollte das mit in die Funktion, sonst kann es böse Fallen bei der Rekursion geben.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.