Möchte Inhalt von Datei durchsuchen.
-
Hey.
Ich möchte ein Programm schreiben, womit ich eine schon bestehende Textdatei durchsuchen kann. Dann möchte ich, dass alle Wörter, die ein bestimmtes Zeichen enthalten sozusagen herausgefiltert werden. Also ich möchte nur noch hinterher die Wörter haben, die das Zeichen enthalten.Nur meine Probleme sind:
1. Ich weiß nicht, wie ich auf den Inhalt von einer schon bestehenden Textdatei zugreifen kann.2. Ich weiß nicht, wie ich es hinbekomme, dass nicht nur immer das Zeichen, sondern das ganze "Wort" herausgefiltert wird.
3. Ich bräuchte wirklich Hilfe

Danke schon einmal im voraus.
Gruß Speedy_92
-
1.: http://www.c-plusplus.net/forum/viewtopic-var-t-is-39469.html
2.: Halt bis zum ersten Leerzeichen oder so auslesen.
3.: Wir helfen bei konkreten Problemen, schreiben aber keine komplette Programme.
-
1. Danke
2. Und was ist, wenn das Zeichen in der Mitte ist?
3. Das weiß ich und ich möchte es ja auch selber schreiben
-
Speedy_92 schrieb:
2. Und was ist, wenn das Zeichen in der Mitte ist?
Naja, dann halt rückwärts bis zum ersten Leerzeichen iterieren, und dann vorwärts zum ersten leerzeichen lesen. (So würde ich es machen)
-
vector<string> gefundene_worte;
unsigned long pos1, pos2;Datei Zeichenweise einlesen.
Leerzeichen gefunden, Postition des Dateizeigers abrufen ( ftell ) und in pos1 speichern.
Gesuchtes Zeichen gefunden, weiterlesen bis zum nächsten Leerzeichen ( evtl. Dateiende beachten), Position des Leerzeichens abrufen und in pos2 speichern.
Dateizeiger auf pos1 setzen und pos2 - pos1 Zeichen in den Vector einlesen.

-
The-Kenny schrieb:
Speedy_92 schrieb:
2. Und was ist, wenn das Zeichen in der Mitte ist?
Naja, dann halt rückwärts bis zum ersten Leerzeichen iterieren, und dann vorwärts zum ersten leerzeichen lesen. (So würde ich es machen)
Und wie kann ich rückwärts lesen?
Ich habe im FAQ nichts gefunden.vector<string> gefundene_worte;
unsigned long pos1, pos2;Datei Zeichenweise einlesen.
Leerzeichen gefunden, Postition des Dateizeigers abrufen ( ftell ) und in pos1 speichern.
Gesuchtes Zeichen gefunden, weiterlesen bis zum nächsten Leerzeichen ( evtl. Dateiende beachten), Position des Leerzeichens abrufen und in pos2 speichern.
Dateizeiger auf pos1 setzen und pos2 - pos1 Zeichen in den Vector einlesen.

Das lasse ich denn mal lieber, weil ich da nicht so ganz durchsteige

Und ich habe noch nie etwas mit "vector" gemacht.
-
splitte doch einfach den chararray in wörter auf, und durchsuch dann die einzelnen wörter?!
-
pixartist schrieb:
splitte doch einfach den chararray in wörter auf, und durchsuch dann die einzelnen wörter?!
Es sind doch schon alles "Wörter", also ich muss die nicht splitten. Meinst du vielleicht Buchstaben?
-
Speedy_92 schrieb:
pixartist schrieb:
splitte doch einfach den chararray in wörter auf, und durchsuch dann die einzelnen wörter?!
Es sind doch schon alles "Wörter", also ich muss die nicht splitten. Meinst du vielleicht Buchstaben?
du liest den gesamten inhalt der datei in nen array, dann splittest du den array an leerzeichen und hast nen zweidimensionalen array der alle einzelnen wörter enthält. jetzt kannst du den einfach durgehen und jedes wort für sich nach dem zeichen durchsuchen.
-
OK. Danke.
Wenn ich noch Fragen haben sollte werde ich mich melden
