Veröffentlicht 4. Juli 200817 j Servus, ich weis dass dieses Thema schon behandelt wurde, aber irgendwie nicht so wie ich das brauche. folgener Code: int main () { ofstream dateischreiben("neu.txt", ios::app | ios::out); dateischreiben << "Dieser Text wird in die Datei geschrieben!\n"; dateischreiben.close(); ifstream dateilesen("neu.txt"); cout << dateilesen; //ich vermute mal hier ist der Fehler dateilesen.close(); system("Pause"); return 0; } Klappt alles ganz schön, nur das was der mir ausgibt ist: 0x22da4
4. Juli 200817 j Du versuchst, ein Streamobjekt (dateilesen) auf einem anderen Stream (cout) auszugeben. Der einzige der vordefinierten Operatoren, der darauf passt, gibt allerdings nur den Status des Streams aus. Das ist eine Sammlung von Statusbits, die zusammen den Wert ergeben, den du da siehst. Wenn du den gesamten Inhalt eines istreams auf einen ostream ausgeben willst, dann mach das über den Streambuffer des istreams, dieser Operator tut, was du willst: cout << dateilesen.rdbuf();
4. Juli 200817 j Bist du sicher, dass im Buffer die ganze Datei ist?Der operator<< für Streambuf-Zeiger, der hier benutzt wird, liest alles, was drin ist. Bei ifstreams ist das die ganze Datei.
7. Juli 200817 j wieso wird mir hier der Inhalt der Datei nicht angezeit, wo liegt der Fehler? #include <iostream> #include <fstream> using namespace std; int main () { fstream datei("neu.txt", ios::app | ios::out); datei << "Hier ist ein Text\n"; cout << datei.rdbuf(); datei.close(); system("Pause"); return 0; }
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.