Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::basic_ios<CharT,Traits>::clear

      From cppreference.com
      <cpp‎ |io‎ |basic ios
       
       
       
       

      Sets the stream error state flags by assigning them the value ofstate. By default, assignsstd::ios_base::goodbit which has the effect of clearing all error state flags.

      Ifrdbuf() is a null pointer (i.e. there is no associated stream buffer), thenstate|std::ios_base::badbit is assigned.

      Contents

      [edit]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

      [edit]Return value

      (none)

      [edit]Exceptions

      If the new error state includes a bit that is also included in theexceptions() mask, throws an exception of typefailure.

      [edit]Example

      clear() without arguments can be used to unset thefailbit after unexpected input; forstd::cin.putback(c) seeungetc.

      Run this code
      #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';}

      Output:

      Please, enter a number: XYZI am sorry, but 'XYZ' is not a numberPlease, enter a number: 3.14Thank you for entering the number 3.14

      [edit]Defect reports

      The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

      DRApplied toBehavior as publishedCorrect behavior
      LWG 412C++98an excption would be thrown if the current error state
      includes a bit that is also included in theexceptions() mask
      checks the new
      error state instead

      [edit]See also

      sets state flags
      (public member function)[edit]
      returns state flags
      (public member function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/io/basic_ios/clear&oldid=176647"

      [8]ページ先頭

      ©2009-2025 Movatter.jp