Dateiinhalte durchsuchen
-
Hallo,
ich möchte eine Anwendung schreiben, mit der ich alle Dateien eines Ordners nach einem bestimmten vom Anwender einzugebenden Text durchsuchen und anschließend die Namen der Dateien, die den Text enthalten ausgeben lassen. Irgendwie fehlt mir der Ansatz für
1. das Öffnen aller Dateien eines Ordners, ohne deren Namen zu kennen,
2. das durchsuchen nach bestimmten Texten
hab hier im Forum und auch sonst im Web (codeproject, etc) nicht wirklich was gefunden, was mir weiterhelfen konnte.
Hat jemand einen Ansatz?
-
FindFirstFile und FindNextFile kannst du ein Berzeichnis durchforsten. Mit Streams kannst Datei auslesen und die Daten dann durchsuchen
-
@1: FindFirstFile/FindNextFile
@2: Öffnen, stückweise einlesen und "per Hand" durchsuchen.
-
Soweit so unklar? Kann ich das in ner einfachen Konsolen-Anwendung machen? Welche Header brauch ich da?
-
Hallo,
Standard-C++ kennt keine Funktionen für das Durchwandern von Verzeichnissen. Du musst deshalb entweder auf BS-spezifische API-Funktionen zurückgreifen (FindFirstFile und co unter Windows, readdir unter Posix-kompatiblen Systemen) oder aber eine Bibliothek verwenden, die solche Funktionen kapselt. Beispiele für die Benutzung der API-Funktionen findest du in den FAQ.WinAPI: http://www.c-plusplus.net/forum/viewtopic-var-t-is-39396.html
Posix-API: http://www.c-plusplus.net/forum/viewtopic-var-t-is-39523.htmlEin Beispiel für eine portable Bibliothek ist boost::filesystem.
-
danke mal soweit, bin einen entscheidenden schritt weiter...
ich sag bescheid, wenns läuft!