std::basic_ios<CharT,Traits>:: clear
|
void
clear
(
std::
ios_base
::
iostate
state
=
std::
ios_base
::
goodbit
)
;
|
||
Setzt die Stream-Fehlstatusflags, indem ihnen der Wert von state zugewiesen wird. Standardmäßig wird std::ios_base::goodbit zugewiesen, was zur Folge hat, dass alle Fehlstatusflags gelöscht werden.
Wenn rdbuf() ein Nullzeiger ist (d.h. kein assoziierter Streampuffer vorhanden ist), dann wird state | std:: ios_base :: badbit zugewiesen.
Inhaltsverzeichnis |
Parameter
| state | - |
neue Einstellung der Fehlerstatus-Flags. Es kann eine Kombination der folgenden Konstanten sein:
|
Rückgabewert
(keine)
Exceptions
Wenn der neue Fehlerzustand ein Bit enthält, das auch in der exceptions() -Maske enthalten ist, wird eine Ausnahme vom Typ failure geworfen.
Beispiel
clear()
ohne Argumente kann verwendet werden, um das
failbit
nach unerwarteter Eingabe zurückzusetzen; für
std::
cin
.
putback
(
c
)
siehe
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'; }
Ausgabe:
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
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrektes Verhalten |
|---|---|---|---|
| LWG 412 | C++98 |
eine Exception würde ausgelöst, wenn der aktuelle Fehlerzustand
ein Bit enthält, das auch im exceptions() Mask enthalten ist |
prüft stattdessen den neuen
Fehlerzustand |
Siehe auch
|
setzt Zustandsflags
(öffentliche Elementfunktion) |
|
|
gibt Zustandsflags zurück
(öffentliche Elementfunktion) |