Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

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

      From cppreference.com
      <cpp‎ |io‎ |basic ios
       
       
       
       
      bool good()const;

      Returnstrue if the most recent I/O operation on the stream completed successfully. Specifically, returns result ofrdstate()==0.

      Seeios_base::iostate for the list of conditions that set the stream status bits.

      Contents

      [edit]Parameters

      (none)

      [edit]Return value

      true if the stream error flags are all false,false otherwise.

      [edit]Example

      Run this code
      #include <cstdlib>#include <fstream>#include <iostream> int main(){constchar* fname="/tmp/test.txt";std::ofstream ofile{fname};    ofile<<"10 "<<"11 "<<"12 "<<"non-int";    ofile.close(); std::ifstream file{fname};if(!file.good()){std::cout<<"#1. Opening file test.txt failed - ""one of the error flags is true\n";returnEXIT_FAILURE;} // typical C++ I/O loop uses the return value of the I/O function// as the loop controlling condition, operator bool() is used herefor(int n; file>> n;)std::cout<< n<<' ';std::cout<<'\n'; if(file.bad()){std::cout<<"#2. I/O error while reading - badbit is true\n";returnEXIT_FAILURE;}elseif(file.eof())std::cout<<"#3. End of file reached successfully - eofbit is true\n""This is fine even though file.good() is false\n";elseif(file.fail())std::cout<<"#4. Non-integer data encountered - failbit is true\n";}

      Possible output:

      10 11 12 #4. Non-integer data encountered - failbit is true

      [edit]See also

      The following table shows the value ofbasic_ios accessors (good(),fail(), etc.) for all possible combinations ofios_base::iostate flags:

      ios_base::iostate flagsbasic_ios accessors
      eofbitfailbitbadbitgood()fail()bad()eof()operator booloperator!
      false false falsetrue false false falsetrue false
      false falsetrue falsetruetrue false falsetrue
      falsetrue false falsetrue false false falsetrue
      falsetruetrue falsetruetrue false falsetrue
      true false false false false falsetruetrue false
      true falsetrue falsetruetruetrue falsetrue
      truetrue false falsetrue falsetrue falsetrue
      truetruetrue falsetruetruetrue falsetrue
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/io/basic_ios/good&oldid=158184"

      [8]ページ先頭

      ©2009-2025 Movatter.jp