Wörter einer txt Datei einzeln auslesen

MC_Beck

Grünschnabel
Ich möchte eine Text Datei in mein Programm einlesen die einzelnen Wörter und Zeilen Zählen sowie die einzelnen Wörter wieder ausgeben wobei der ungenutzte Speicher wieder freigegeben werden soll sowie das löschen der eingelesen Dateien möglich sein soll ohne diese in der Text Datei zu verändern. Hier mein bisheriges Programm zu Zählen. (weiter habe ichleider keinen Plan und bitte deshalb um tips)


#include <string>
#include <algorithm>
#include <cctype>

using namespace std;

int main() {
string line;
int lines = 0, words = 0, upper_chars = 0;

ifstream datei("test.txt");

if (!datei.is_open()) {
cerr << "Fehler: Datei konnte nicht geöffnet werden.\n";
return 1;
}

while (getline(datei, line)) {
lines ++;

istringstream isstr (line);
string word;

while (isstr >> word) words++;

upper_chars += count_if (line.begin(), line.end(), (int(*)(int))isupper);
}
cout << "lines: " << lines << ", words: " << words <<
", upper case characters: " << upper_chars << endl;


}
 
Wo hängt es denn? Sieht doch schon fast ganz gut aus. Nur musst du beim Wortausgeben darauf achten, dass du Kommata, Punkte usw. löscht.
 
Das Problem liegt darin das ich pro Zeile in meinem Programm nur ein Wort wiedergeben soll und die Wörter sollen alphabetisch angezeigt werden
 
Zurück