std::basic_ios<CharT,Traits>:: clear
|
void
clear
(
std::
ios_base
::
iostate
state
=
std::
ios_base
::
goodbit
)
;
|
||
Définit les indicateurs d'état d'erreur du flux en leur assignant la valeur de state . Par défaut, assigne std::ios_base::goodbit ce qui a pour effet d'effacer tous les indicateurs d'état d'erreur.
Si rdbuf() est un pointeur nul (c'est-à-dire qu'il n'y a pas de tampon de flux associé), alors state | std:: ios_base :: badbit est assigné.
Table des matières |
Paramètres
| state | - |
nouveau paramètre des indicateurs d'état d'erreur. Il peut être une combinaison des constantes suivantes :
|
Valeur de retour
(aucun)
Exceptions
Si le nouvel état d'erreur inclut un bit qui est également inclus dans le masque exceptions() , lance une exception de type failure .
Exemple
clear()
sans arguments peut être utilisé pour désactiver le
failbit
après une entrée inattendue ; pour
std::
cin
.
putback
(
c
)
voir
ungetc
.
#include <iostream> #include <string> int main() { for (char c : {'\n', '4', '1', '.', '3', '\n', 'Z', 'Y', 'X'}) std::cin.putback(c); // emulate user's input (not portable: see ungetc Notes) double n; while (std::cout << "Please, enter a number: " && !(std::cin >> n)) { std::cin.clear(); std::string line; std::getline(std::cin, line); std::cout << line << "\nI am sorry, but '" << line << "' is not a number\n"; } std::cout << n << "\nThank you for entering the number " << n << '\n'; }
Sortie :
Please, enter a number: XYZ I am sorry, but 'XYZ' is not a number Please, enter a number: 3.14 Thank you for entering the number 3.14
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | Appliqué à | Comportement tel que publié | Comportement correct |
|---|---|---|---|
| LWG 412 | C++98 |
une exception serait levée si l'état d'erreur actuel
inclut un bit qui est également inclus dans le masque exceptions() |
vérifie le nouvel
état d'erreur à la place |
Voir aussi
|
définit les indicateurs d'état
(fonction membre publique) |
|
|
retourne les indicateurs d'état
(fonction membre publique) |