Streamzustände: Beispiel 1

Das folgende Beispiel testet, ob bei dem Stream strm das failbit gesetzt ist und löscht es gegebenenfalls:

  if (strm.rdstate() & ios::failbit) {
      //...
      // alles außer ios::failbit zurücksetzen
      strm.clear (strm.rdstate( ) &  ~ios::failbit);
  }

Wie bereits bei der Einführung der Zustandsflags erwähnt, sind die Flags binär codiert, so daß man bei Abfragen die Möglichkeit hat, die verschiedenen Flags mit den Bit-Operatoren miteinander zu verbinden. Im Beispiel wurden die beiden Bit-Operatoren & und ~ angewendet
(Zur Erläuterung der Bit-Operatoren vgl. Elementare Sprachelemente, Bit-Operatoren ).