ERLEDIGT
JA
JA
ANTWORTEN
4
4
ZUGRIFFE
372
372
EMPFEHLEN
-
Hallo,
ich muss hier ein Programm schreiben bei dem man anfangs ein paar Werte angibt und anschließend eine Datei nach diesen Werten durchsucht werden soll. Wenn eine 100%ige übereinstimmung gefunden wurde, soll der Name/id der in diesem Fall "Veranstaltung" ausgegeben werden.
Hier mein bisheriger Code:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
#include "stdafx.h" using namespace std; int _tmain(int argc, _TCHAR* argv[]) { cout<<"Ort: "; cin>>ort; cout<<"\nZeit (tt.mm.jjjj): "; cin>>time; cout<<"\nTyp: "; cin>>typ; //----------------- const char *inputFilePath = "daten.txt"; const char *outputFilePath = "ergebnisse.txt"; ifstream inputFileStream(inputFilePath); if (!inputFileStream) { cerr << "Could not open " << inputFilePath << " for reading " << endl; return 1; } ofstream outputFileStream(outputFilePath); string line; while (getline(inputFileStream, line)) { if (line.find(ort) != string::npos && line.find(time) != string::npos && line.find(typ) != string::npos) { cout<<"Datensatz gefunden!"; outputFileStream << line << endl; } inputFileStream.close(); outputFileStream.close(); system("pause"); return 0; } }
Das Problem an der Sache ist, das mit dieser Methode schwachsinnigerweise eine Outputfile erstellt wird wo dann das Suchergebnis drin steht.
Meine Inputfile sieht so aus:
Bei der Angabe von diesen Daten: Ort: Stützerbach time: 27.6.2009 typ: kinoCode :1 2 3 4
Arnstadt 23.6.2009 lesung Diashow - Amerika Ilmenau 0 sport Schwimmbad Stützerbach 27.6.2009 kino Film - Der Vorleser Manebach 17.6.2009 markt Fischmarkt
soll folgende Ausgabe erscheinen:
Code :1
Film - Der Vorleser
Ich hoffe ich habe mein anliegen recht klar beschrieben und ich hoffe auch dass mit der ein oder andere vlt. helfen kann
Danke schon einmal im vorraus!
-
Hallo,
du könntest jede Zeile gleich beim Einlesen in ihre Bestandteile (Ort, Datum, Typ, Titel) aufspalten und dann bei Erfolg nur den Titel ausgeben. Dadurch kannst du dann auch die Komponenten gezielt mit den Suchworten vergleichen, wodurch deine Suchfunktion auch robuster werden würde (in der jetzigen Form könnte man z.B. auch "Amerika" als Ort eingeben und würde trotzdem ein Ergebnis finden).
Kleines Beispiel:
Code cpp:1 2 3 4 5 6 7
string ort, datum, typ, titel; while (inputFileStream) { inputFileStream >> ort >> datum >> typ; if (!inputFileStream) break; getline(inputFileStream, titel); // Vergleich mit Suchwörtern und ggf. Rausschreiben des Titels }
Grüße, Matthias„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”
Aktuelles Coding Quiz: #17 - Wörter kreuz und quer
-
Danke, genau nach so etwas habe ich gesucht. Ich werds nachher direkt mal ausprobieren.
-
Problem is nur wenn nen Space im Ortsnamen steht
-
Kommt nicht vor, in der File stehen nur 4 Orte und die bestehen alle aus einem Wort. Funktioniert alles Super, danke vielmals
Ähnliche Themen
-
HTML-Datei durchsuchen und bestimmte Sachen ausgeben.
Von TTek im Forum PHPAntworten: 3Letzter Beitrag: 07.08.07, 21:08 -
Datei durchsuchen und jeweils die 2. vorrige Zeile ausgeben
Von anti00Zero im Forum Linux & UnixAntworten: 3Letzter Beitrag: 08.09.06, 10:07 -
[c]Datei Durchsuchen/Ausgeben
Von sascha ak opi im Forum C/C++Antworten: 22Letzter Beitrag: 19.07.06, 09:01 -
Datei nach Text durchsuchen und zeile ausgeben!
Von Hawkster im Forum PHPAntworten: 5Letzter Beitrag: 09.05.04, 14:58 -
[C++] Datei durchsuchen, danach Inhalt ausgeben/kopieren
Von grillse im Forum C/C++Antworten: 6Letzter Beitrag: 06.05.04, 16:39





Zitieren

Login






