Es fehlte ein
std::flush (Manipulator wie
std::endl). Damit wird der Puffer des Streams geleert. Das heißt bei
std::ofstream, dass all das, was von C++ zwischengespeichert wurde, nun auch tatsächlich an das Betriebssystem gesendet wird, sodass es dann in der Datei landet.
Du kannst das aber auch mit nur einem
std::fstream-Objekt lösen, dann musst du nach den Schreiboperationen nur die Methode
seekg mit
0 als Argument aufrufen. Beispiel:
Code:
std::fstream file ("test.file");
file << "Inhalt" << std::endl;
file.seekg (0);
std::cout << file.rdbuf ();