Daten finden
-
Hi.
Ich möchte von meiner platte alle z.B.: mp3s finden.
Bekomme es aber einfach nicht hin.Habe es mal mit fstream probiert, jedoch ohne erfolg.
Bin mom. so weit:
#include <iostream> #include "windows.h" /* Search possible Datas */ void main(void) { WIN32_FIND_DATA FileData; // Data structure describes the file found HANDLE hSearch; // Search handle returned by FindFirstFile TCHAR szMsg[100]; // String to store the error message TCHAR szDirPath[] = TEXT("TEXTRO"); BOOL bFinished = FALSE; // Start searching in the root directory hSearch = FindFirstFile (TEXT("*.mp3"), &FileData); if (hSearch == INVALID_HANDLE_VALUE) { wsprintf (szMsg, TEXT("No files found.")); return; } while (!bFinished) { //OpenFolderPath(FileData.cFileName); printf (FileData.cFileName); if (!FindNextFile (hSearch, &FileData)) { bFinished = TRUE; if (GetLastError () == ERROR_NO_MORE_FILES) { wsprintf (szMsg, TEXT("Found all of the files.")); } else { wsprintf (szMsg, TEXT("Unable to find next file.")); } } } // Close the search handle. if (!FindClose (hSearch)) wsprintf (szMsg, TEXT("Unable to close search handle.")); }
Bin für jede hilfe dankbar!
mfg sibobMS Studio c++ 6
-
Sibob: Falsches Forum, aber schau Dir uU boost::filesystem & Co. an.
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Dazu wirst du dann wohl FindNextFile für jedes Verzeichnis explizit aufrufen
-
Jop, allerdings gibt's längst nen Beispiel und hättest net posten müssen.
Dateien aus Ordnern auflisten
http://www.win-api.com/index.php?content=resources&KW=Dateien%20aus%20Ordner%20AUFLISTENGanz einfach als Startpfad C:\*.* einbauen... In der Funktion programmierst Du's logischerweise einfach so, dass wenn ein Verzeichnis kommt, rufst Du die selbe Funktion nochmal auf (rekursiv) um den Order zu durchsuchen.
So sucht er dann die komplette Festplatte durch. Good luck
-
Benutz mal die Forensuche - ich hab irgendwas in Erinnerung, dass es Probleme gab, wenn FindFirstFile rekursiv aufgerufen wurde. Afaik war die Lösung, dass du dir die Verzeichnisse merkst und dann am Ende durchgehst
-
Find ich am Ende umständlicher aber am Ende entscheidet eh er sich
Aber Probs sind mir da eigentlich nie aufgefallen?