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;
}