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;
}
#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;
}