Bibliothèque C ++ IOS clear

La description

Il est utilisé pour définir des indicateurs d'état d'erreur. La valeur actuelle des indicateurs est écrasée: tous les bits sont remplacés par ceux en état; Si l'état est goodbit (qui vaut zéro), tous les indicateurs d'erreur sont effacés.

Dans le cas où aucun tampon de flux n'est associé au flux lorsque cette fonction est appelée, l'indicateur de badbit est automatiquement défini (quelle que soit la valeur de ce bit passé en argument).

Déclaration

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

void clear (iostate state = goodbit);

Paramètres

state - Un objet de type ios_base :: iostate qui peut prendre comme valeur n'importe quelle combinaison des constantes membres de l'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

Valeur de retour

aucun

Des exceptions

Basic guarantee- si une exception est levée, le flux est dans un état valide. Il lève une exception d'échec de type de membre si l'indicateur d'état d'erreur résultant n'est pas goodbit et que les exceptions de membre ont été définies pour cet état.

Courses de données

Modifie l'objet de flux.

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

Exemple

L'exemple ci-dessous explique la fonction ios :: clear.

#include <iostream>
#include <fstream>

int main () {
   char buffer [80];
   std::fstream myfile;

   myfile.open ("test.txt",std::fstream::in);

   myfile << "test";
   if (myfile.fail()) {
      std::cout << "Error writing to test.txt\n";
      myfile.clear();
   }

   myfile.getline (buffer,80);
   std::cout << buffer << " successfully read from file.\n";

   return 0;
}