Datei Zeilenweise nach einer Zeichenfolge durchhsuchen
-
Hi leute ich möchte gerne eine relativ große datie zeilenweise durchsuchen. also ich stell mir das so vor:
1 zeile nach "wort" durchsuchen
wenn ja dann in einem buffer speiuchern und weiter verarbeiten
wie mach ich das ?
-
Hallo!
Man koennte doch die Datei zeilenweise einlesen und den String dann mit find durchsuchen.#include <iostream> #include <fstream> #include <string> #include <cstddef> using namespace std; int main() { ifstream inp; string filename, wort, temp; int zeile = 1; size_t spalte; cout << "Dateiname? "; getline(cin, filename); cout << "\nWelches Wort soll gefunden werden? "; getline(cin, wort); inp.open(filename.c_str(), ios::binary | ios::in); if (!inp) { cerr << "Fehler beim oeffnen von " << filename; return -1; } while (!inp.eof()) { getline(inp, temp); spalte = temp.find(wort); if (spalte != string::npos) cout << "\n" << wort << " gefunden in Zeile " << zeile << ", Spalte " << spalte << "!"; zeile += 1; } inp.close(); return 0; }Gruss,
Cartman
-
abgespaced, danke für denn code hat sich somit erldigt
danke
-
Man kann uebrigens bei
find()als zweiten Parameter noch die Position angeben... Damit koennte man noch ueberpruefen wie oft ein Wort in der Zeile vorkommt...Gruss,
Cartman