Beispiellösung mit zweidimensionalem Vector
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
int main() {
char zeichen;
string buffer;
vector<vector<string>> database;
vector<string> dataset;
bool start = true;
ifstream results;
results.open("ergebnisse.txt");
if (results) {
while (results.get(zeichen)) {
switch (zeichen) {
case '*':
if (!start) {
database.push_back(dataset);
dataset.clear();
start = true;
}
break;
case ':':
buffer = "";
break;
case '\n':
// Erste Zeile soll nicht als neuer Datensatz interpretiert werden
if (start) {
start = false;
} else {
dataset.push_back(buffer);
}
break;
default:
buffer += zeichen;
}
}
} else {
cout << "Datei ergebnisse.txt existiert nicht.";
}
cout << " *** Datasets of Database " << endl << endl;
vector<vector<string>>::iterator iterator;
for (int i = 0; i < database.size(); i++) {
cout << "Database entry #" << i << endl;
for (int j = 0; j < database[i].size(); j++) {
cout << database[i][j] << endl;
}
cout << endl;
}
return 0;
}