Namespaces
Variants

std::ios_base:: iostate

From cppreference.net
typedef /*implementation defined*/ iostate ;
static constexpr iostate goodbit = 0 ;
static constexpr iostate badbit = /* implementation defined */

static constexpr iostate failbit = /* implementation defined */

static constexpr iostate eofbit = /* implementation defined */

Spécifie les indicateurs d'état du flux. C'est un BitmaskType , les constantes suivantes sont définies :

Constante Explication
goodbit aucune erreur
badbit erreur de flux irrécupérable
failbit échec de l'opération d'entrée/sortie (erreur de formatage ou d'extraction)
eofbit la séquence d'entrée associée a atteint la fin du fichier

Table des matières

Le eofbit

L'indicateur eofbit est défini par les fonctions standards de bibliothèque suivantes :

  • La fonction d'entrée de chaîne std::getline si elle se termine en atteignant la fin du flux, plutôt qu'en atteignant le caractère de terminaison spécifié.
  • Les surcharges d'entrée numérique de basic_istream::operator>> si la fin du flux est rencontrée lors de la lecture du caractère suivant, à l'Étape 2 du traitement num_get::get . Selon l'état d'analyse, failbit peut ou non être défini simultanément : par exemple, int n ; istringstream buf ( "1" ) ; buf >> n ; définit eofbit , mais pas failbit : l'entier 1 a été analysé et stocké avec succès dans n . En revanche, bool b ; istringstream buf ( "tr" ) ; buf >> boolalpha >> b ; définit à la fois eofbit et failbit : il n'y avait pas assez de caractères pour compléter l'analyse du booléen true .
  • Les surcharges d'extraction de caractères de operator>> std::basic_istream , si la fin du flux est atteinte avant la limite (le cas échéant) sur le nombre de caractères à extraire.
  • Le manipulateur d'E/S std::get_time et toutes les fonctions d'analyse std::time_get : time_get::get , time_get::get_time , time_get::get_date , etc., si la fin du flux est atteinte avant que le dernier caractère nécessaire à l'analyse de la valeur de date/heure attendue ne soit traité.
  • Le manipulateur d'E/S std::get_money et la fonction money_get::get , si la fin du flux est atteinte avant que le dernier caractère nécessaire à l'analyse de la valeur monétaire attendue ne soit traité.
  • Le constructeur basic_istream::sentry , exécuté au début de chaque fonction d'entrée formatée : sauf si le bit skipws est désactivé (par exemple en utilisant std::noskipws ), sentry lit et ignore les caractères d'espacement initiaux. Si la fin du flux d'entrée est atteinte pendant cette opération, à la fois eofbit et failbit sont définis, et aucune entrée n'a lieu.
  • Le manipulateur d'E/S std::ws , s'il atteint la fin du flux en consommant les espaces (mais, contrairement à sentry pour l'entrée formatée, il ne définit pas failbit dans ce cas).
  • Les fonctions d'entrée non formatées basic_istream::read , basic_istream::get , basic_istream::peek , basic_istream::readsome , basic_istream::ignore , et basic_istream::getline , lorsqu'elles atteignent la fin du flux.
  • La fonction d'entrée de rejet basic_istream::ignore , lorsqu'elle atteint la fin du flux avant d'atteindre le caractère délimiteur spécifié.
  • La fonction d'entrée immédiate basic_istream::readsome , si basic_streambuf::in_avail retourne - 1 .

Les fonctions suivantes effacent eofbit comme effet secondaire :

Notez que dans presque toutes les situations, si eofbit est défini, le failbit est également défini.

Le failbit

Le failbit est défini par les fonctions suivantes de la bibliothèque standard :

Le badbit

Le badbit est défini par les fonctions standards de bibliothèque suivantes :

Exemple

Voir aussi

Le tableau suivant présente les valeurs des basic_ios accesseurs ( good() , fail() , etc.) pour toutes les combinaisons possibles des ios_base::iostate indicateurs :

**Note:** Aucune traduction n'a été effectuée car : - Tous les termes textuels se trouvent dans des balises ` `, ` ` ou sont des termes spécifiques au C++ - Les balises HTML et leurs attributs ont été préservés - Le formatage original a été maintenu Les termes comme `eofbit`, `failbit`, `badbit`, `good()`, `fail()`, `bad()`, `eof()`, `operator bool` et `operator!` sont des termes techniques C++ qui ne doivent pas être traduits.
ios_base::iostate indicateurs basic_ios accesseurs
eofbit failbit badbit good() fail() bad() eof() operator bool operator!
faux faux faux vrai faux faux faux vrai faux
faux faux vrai faux vrai vrai faux faux vrai
faux vrai faux faux vrai faux faux faux vrai
faux vrai vrai faux vrai vrai faux faux vrai
vrai faux faux faux faux faux vrai vrai faux
vrai faux vrai faux vrai vrai vrai faux vrai
vrai vrai faux faux vrai faux vrai faux vrai
vrai vrai vrai faux vrai vrai vrai faux vrai
retourne les indicateurs d'état
(fonction membre publique de std::basic_ios<CharT,Traits> )
définit les indicateurs d'état
(fonction membre publique de std::basic_ios<CharT,Traits> )
modifie les indicateurs d'état
(fonction membre publique de std::basic_ios<CharT,Traits> )