C++ - stream-Datei öffnen-Modi Mehrdeutigkeit

Für die Durchführung von Datei-E /a in C++ verwenden wir die ofstream, ifstream und fstream sind Klassen.

  • ofstream: Stream-Klasse zu schreiben auf Dateien
  • ifstream: Klasse Stream zum Lesen von Dateien
  • fstream sind: Stream-Klasse Lesen und schreiben von/auf Dateien

Den Prozess der Zuordnung einer Datei mit einem stream-Objekt wird als "öffnen der Datei".
Beim öffnen einer Datei können wir festlegen, in welchem Modus die Datei geöffnet werden soll.
Meine Anfrage ist im Zusammenhang mit der ios::out und ios:in Modi.

Wenn ich eine ofstream Objekt aus und öffnen Sie die Datei mit ios::in - Modus, ich bin in der Lage,
schreiben Sie in die Datei aber nur, wenn seine bereits erstellt(mit ios::out - Modus-Datei wird auch dann erstellt, wenn es nicht bereits vorhanden ist).

Aber wenn ich ifstream Objekt aus und öffnen Sie die Datei mit ios::out - Modus, ich bin in der Lage, die Datei zu Lesen.

Meine Frage ist, warum diese Modi (ios::in/ios::out) geliefert werden, die von der Sprache, wenn die Art des Streams(ifstream/ofstream) selbst gibt an, welche Art von operation(input/output) durchgeführt ?

Auch der Grund, warum diese unklare Verwendung(ofstream mit ios::in und ifstream mit ios::out) arbeitet in eine Falle und schlägt(aber nur, wenn die Datei nicht bereits vorhanden ist) in einem anderen ?

InformationsquelleAutor Arun | 2012-09-11
Schreibe einen Kommentar