Elegant Wörter einlesen



  • Hallo,

    ich habe eine Datei mit einem Test unbekannter Länge. Ich möchte jedes Wort einzeln einlesen, dieses bearbeitetn und schließlich in einer neuen Datei abspeichern. Ich vermute, dass man hier mit stringsstreams arbeiten sollte, um nicht in einem Schritt einen riesigen Text etwa in einen string zu packen.

    Wie ist der eleganteste Weg in C++?

    Danke schonmal


  • Mod

    for (string wort; datei >> wort; )
    {
      bearbeite(wort);
      andere_datei << wort << ' ';
    }
    


  • Da solltest du dann vermutlich noch prüfen, ob Satzzeichen an den Wörtern "dranhängen".


  • Mod

    It0101 schrieb:

    Da solltest du dann vermutlich noch prüfen, ob Satzzeichen an den Wörtern "dranhängen".

    Wenn wir Wörter als "Sequenzen aus alphabetischen Zeichen" definieren, dann kann man das natürlich noch anpassen. Ich habe Wörter jetzt als "Sequenzen grafischer Zeichen" definiert. Ich warte aber erst einmal ab, was der TE sagt, bevor ich das ändere.



  • Hallo,

    warum liest "datei >> wort;" genau Wörter aus? Also warum soll bis zu einem Leerzeichen ausgelesen werden.

    Ich möchte alphateische Worte auslesen, doch mit SeppJs Grundgerüst, krieg ich nur komisches Zeug auf die KOnsole. Warum?



  • Weil Wort vom Typ string ist, und der >> - Operator für diesen Typ so überladen ist, dass er bis zum ersten Whitespace liest.


Anmelden zum Antworten