Frage

  1. Nach der Referenz, wenn ich ifstream infile ( "test.txt" , ifstream::in ); verwenden wird es Allow input operations on the stream. Aber was sind einige der Beispiele für die „Eingabeoperationen“ sind?
  2. Ist ifstream infile ( "test.txt" , ifstream::in | ifstream::binary ); die richtige Syntax mehrere Flags zu benutzen?
  3. Wird es einen Unterschied machen, wenn ich ifstream:: ändern iso::?

Danke

War es hilfreich?

Lösung

  
      
  1. Nach der Referenz, wenn ich ifstream infile verwenden ( "test.txt",   ifstream :: in); es wird Eingabe zulassen   Operationen auf dem Stream. Aber was ist   einige der Beispiele für den „Eingang   operations "?
  2.   

Beim Lesen aus einer Datei, die alles, was ein Eingangsstrom unterstützen kann bedeuten würde. Siehe istream Member-Funktionen. Normalerweise können Sie sowohl formatiert zu tun, (mit >>) und unformatiert liest (mit read). Denken Sie daran, dass ifstream ist eine Spezialisierung der basic_ifstream Vorlage für char Typ. Je nach Bedarf, sagen UTF-16 codierte Datei zu lesen, können Sie eine andere Spezialisierung (wifstream) oder sogar ein spezielles Gebietsschema verwenden (lesen Sie diese mehr über locales wissen).

  
      
  1. Ist ifstream infile ( "test.txt", ifstream :: in | ifstream :: binary);   die richtige Syntax verwenden multiple   Flaggen?
  2.   

Ja.

  
      
  1. Wird es einen Unterschied machen, wenn ich ifstream ändern :: ISO ::?
  2.   

Nein.

Andere Tipps

Stream-Operationen sind extraction << und insertion >>. Wenn Sie das tun nach dem unter der Annahme, file ist von fstream Typ:

file << 5 << 6.5 << "Hello World!"; // insertion of data (output)
file >> x >> y >> str; // exaction of data (input)

Sie können auch, befassen sich mit der stream als binary stream. In diesem Fall sieht es nicht wirklich wie ein „stream“ von Daten, aber das gibt Ihnen direkten Zugriff auf die Daten. In einigen Fällen können Sie nicht den binären Modus verwenden, vor allem, wenn Sie Ihre Daten wie ein Netzwerk-Stream nicht verfügbar sind. Ein- und Ausbau, sind die beiden wichtigsten Operationen auf Streams.

ifstream wird als input stream standardmäßig erstellt. So std::ios::in ist in diesem Fall überflüssig. Sie verwenden die Flags richtig.

alle Ströme erben von ios. So sind die Fahnen in beiden Orten verfügbar, können Sie sie entweder von ios abrufen können direkt oder von fstream.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top