Wie wir in C++ wissen, haben wir die Klasse iostream, die von istream (basic_istream) und ostream (basic_ostream) geerbt wird. In jedem C++ Buch finden Sie, dass Sie mit Iostream Klassenobjekt lesen und in denselben Stream schreiben können. Aber ich sehe wirklich keine Erklärung oder ein Beispiel, um zu verstehen, warum ich solch ein seltsames Denken benutzen sollte. Ich weiß wirklich nicht, warum sollte ich in einen Stream schreiben und dann davon lesen :(.Wo sollte ich die Iostream-Klasse verwenden?
Könnten Sie mir erklären, wenn ich eine solche Konstruktion brauchen sollte? Ich denke, es muss serösen Grund für die Verwendung solcher Konstruktion (Vergiss nicht, dass wir nur für die Iostream-Deklaration virtuelle Vererbung und Mehrfachvererbung verwenden.
Auch wenn ich versuche, einen einfachen Code zu schreiben, der fsteram (Ableitung von Iostream) verwendet, finde ich, dass es nicht funktioniert . Art und Weise, die ich erwarte, dass hier mein Code:
#include <fstream>
using namespace std;
int main()
{
fstream fstr("somefile.txt",fstream::in|fstream::out);//fstream is deriveted from iosteram
int n;
fstr>>n;//reading n (WORKS FINE !!!).
fstr.flush();
//trying to print Hello to the same file
fstr<<"Hello"<<endl;// NOT WORKING!!!!!!!
fstr.flush();
return 0;
}
So könnten Sie mir sagen, warum dieser Code aus einer Datei lesen und kann nicht w Ritus etwas dazu ???
Resume: Bitte sagen Sie mir, warum wir Klasse iosteram brauchen und warum isteram und ostream nicht genug und wie man es benutzt.
Danke und Entschuldigung für mein Englisch :).
P.S. Wahrscheinlich ist diese Frage zu primitiv, aber bitte antworte mir.
Bearbeiten: Mein Code funktioniert jetzt. Danke an Murka.
Ok, als könntest du erklären, warum ich fstream brauche und was ich in meinem Code falsch mache? – UmmaGumma
@Ashot: Wenn Sie generell nach Iostream fragen möchten, öffnen Sie eine Frage.Wenn Sie nach einem bestimmten Code mit fstream fragen möchten, öffnen Sie eine andere Frage. Die beiden sind nicht verwandt. – Puppy