Bibliothèque C ++ IOS - rdstate

La description

Il est utilisé pour vérifier les indicateurs d'état d'erreur. Les indicateurs d'état d'erreur internes sont automatiquement définis par des appels aux fonctions d'entrée / sortie sur le flux pour signaler certaines erreurs.

Déclaration

Voici la déclaration de la fonction ios :: rdstate.

iostate rdstate() const;

Paramètres

aucun

Valeur de retour

Un objet de type ios_base :: iostate qui peut contenir n'importe quelle combinaison des constantes de membre d'indicateur d'état suivantes -

État valeur

(constante de membre)

indique fonctions pour vérifier les indicateurs d'état
bien() eof () échouer() mal() rdstate ()
goodbit Aucune erreur (valeur zéro État) true false false false goodbit
eofbit Fin de fichier atteinte lors de l'opération d'entrée false true false false eofbit
échec Erreur logique lors du fonctionnement des E / S false false true false échec
badbit Erreur de lecture / écriture lors du fonctionnement d'E / S false false true true badbit

Des exceptions

Strong guarantee - si une exception est levée, il n'y a pas de changement dans le flux.

Courses de données

Accède à l'objet de flux.

L'accès simultané au même objet de flux peut provoquer des courses de données.

Exemple

Dans l'exemple ci-dessous est montré pour ios :: rdstate.

#include <iostream>     
#include <fstream>      

int main () {
   std::ifstream is;
   is.open ("test.txt");
   if ( (is.rdstate() & std::ifstream::failbit ) != 0 )
      std::cerr << "Error opening 'test.txt'\n";
   return 0;
}