Namespaces
Variants
Views
Actions

std::basic_ios::clear

From cppreference.com
< cpp‎ | io‎ | basic ios
Revision as of 14:07, 3 March 2013 by Cubbi (Talk | contribs)

Template:ddcl list begin <tr class="t-dcl ">

<td class="t-dcl-nopad">
void clear( iostate state = goodbit );
</td>

<td class="t-dcl-nopad"> </td> <td class="t-dcl-nopad"> </td> </tr> Template:ddcl list end

Clears the stream error state flags by assigning them the value of state. If rdbuf() == 0 then state | badbit is assigned. May throw an exception.

Contents

Parameters

state - new error state flags setting. It can be a combination of the following constants:
Constant Explanation
goodbit no error
badbit irrecoverable stream error
failbit input/output operation failed (formatting or extraction error)
eofbit associated input sequence has reached end-of-file


Return value

(none)

Example

clear() without arguments can be used to unset the failbit after unexpected input

#include <iostream>
#include <string>
int main()
{
    double n;
    while( std::cout << "Please, enter a number\n"
           && ! (std::cin >> n) )
    {
        std::cin.clear();
        std::string line;
        std::getline(std::cin, line);
        std::cout << "I am sorry, but '" << line << "' is not a number\n";
    }
    std::cout << "Thank you for entering the number " << n << '\n';
}


See also

Template:cpp/io/basic ios/dcl list setstateTemplate:cpp/io/basic ios/dcl list rdstate