ich derzeit an einem Programm arbeite, das jede Zeile aus einer Datei lesen und extrahiert das Wort von der Linie spezifische Trennzeichen verwendet.Das letzte Wort nicht in Zeile lesen
Also im Grunde sieht mein Code wie diese
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(int argv, char **argc)
{
ifstream fin(argc[1]);
char delimiter[] = "|,.\n ";
string sentence;
while (getline(fin,sentence)) {
int pos;
pos = sentence.find_first_of(delimiter);
while (pos != string::npos) {
if (pos > 0) {
cout << sentence.substr(0,pos) << endl;
}
sentence =sentence.substr(pos+1);
pos = sentence.find_first_of(delimiter);
}
}
}
jedoch didnot meines Code das letzte Wort in der Zeile lesen. Zum Beispiel sieht meine Datei so aus. Hallo Welt
die Ausgabe aus dem Programm ist nur das Wort "Hallo", aber nicht "Welt". Ich habe '\ n' als Trennzeichen verwendet, aber warum hat es nicht funktioniert ?.
Jeder Hinweis würde geschätzt.
Das klingt wie eine Klassenzuordnung. –
Offensichtlich nicht der echte Code - wo ist die Definition von "Satz". –
Ich habe das behoben, aber in Zukunft bitte Code schreiben, der wie beschrieben funktioniert. Was du ursprünglich gepostet hast, hat nicht einmal kompiliert. Es wird uns etwas Zeit sparen und Ihnen eine schnellere Antwort geben, wenn Sie Arbeitscode veröffentlichen, der den Fehler darstellt, von dem Sie sprechen. –