Verzeichnis durchsuchen, FindNextFile bricht zu früh ab
-
Hallo folgender Code bricht nach dem 2. Durchlauf ab, d.h. FindNextFile wird einmal aufgerufen und gibt danach 0 zurück, obwohl eben nicht nur 2 Verzeichnisse vorhanden sind.
Was mache ich da falsch?
void ReadDirectories() { WIN32_FIND_DATA ffd; HANDLE hFind; int numdirectories=0; hFind = FindFirstFile(L"F:\\*", &ffd); if (hFind != INVALID_HANDLE_VALUE) { numdirectories++; for (;;) { hFind = FindNextFile(hFind, &ffd); if (hFind == 0) { break; } else { numdirectories++; } } } int error = GetLastError(); numdirectories = 0; }
-
hFindsoll ein Handle sein, welches duFindNextFileweitergibst. Aber dann weist du dem Handle plötzlich den Rückgabewert vonFindNextFilezu, was einBOOList. Kein Handle. Und dann arbeitest du mit einem Schrotthandle weiter und erwartest, dass dir die Funktion keinen Schrott zurückgibt.Du solltest vielleicht erstmal lernen, Dokus zu lesen.
-
oder öfter mal eine Pause machen.
Danke!
-
Wade123 hier dein lösung:
https://vcpptips.wordpress.com/tag/findnextfile/