Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::basic_ios::bad(3)	      C++ Standard Libary	std::basic_ios::bad(3)

NAME
       std::basic_ios::bad - std::basic_ios::bad

Synopsis
	  bool bad() const;

	  Returns true if non-recoverable error	has occurred on	the associated
       stream.
	  Specifically,	returns	true if	badbit is set in rdstate().

	  See ios_base::iostate	for the	list of	conditions that	set badbit.

Parameters
	  (none)

Return value
	  true if a non-recoverable error has occurred,	false otherwise.

Example
       // Run this code

	#include <iostream>
	#include <fstream>
	#include <cstdlib>
	int main()
	{
	    std::ifstream file("test.txt");
	    if(!file)  // operator! is used here
	    {
		std::cout << "File opening failed\n";
		return EXIT_FAILURE;
	    }

	    // typical C++ I/O loop uses the return value of the I/O function
	    // as the loop controlling condition, operator bool() is used here
	    for(int n; file >> n; ) {
	       std::cout << n << ' ';
	    }
	    std::cout << '\n';

	    if (file.bad())
		std::cout << "I/O error	while reading\n";
	    else if (file.eof())
		std::cout << "End of file reached successfully\n";
	    else if (file.fail())
		std::cout << "Non-integer data encountered\n";
	}

See also
	  The  following table shows the value of basic_ios accessors (good(),
       fail(), etc.)
	  for all possible combinations	of ios_base::iostate flags:

	       ios_base::iostate flags basic_ios accessors
	       eofbit  failbit	badbit good() fail() bad() eof() operator bool
       operator!
	       false	false	  false	  true	  false	  false	  false	  true
       false
	       false	 false	   true	   false   true	   true	  false	 false
       true
	       false	true	  false	  false	  true	  false	 false	 false
       true
	       false	 true	   true	   false   true	   true	  false	 false
       true
	       true	false	  false	  false	  false	  false	  true	  true
       false
	       true	 false	   true	   false   true	   true	  true	 false
       true
	       true	true	  false	  false	  true	  false	 true	 false
       true
	       true	 true	   true	   false   true	   true	  true	 false
       true

http://cppreference.com		  2022.07.31		std::basic_ios::bad(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::basic_ios::bad&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help