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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::basic_ios::eof - std::basic_ios::eof

Synopsis
	  bool eof() const;

	  Returns  true	 if  the  associated  stream  has reached end-of-file.
       Specifically, returns
	  true if eofbit is set	in rdstate().

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

Parameters
	  (none)

Return value
	  true if an end-of-file has occurred, false otherwise.

Notes
	  This function	only reports the stream	state as set by	the  most  re-
       cent I/O	operation;
	  it  does not examine the associated data source. For example,	if the
       most recent I/O
	  was a	get() which returned the last byte of a	 file,	eof()  returns
       false. The next
	  get()	 fails	to  read  anything and sets the	eofbit.	Only then does
       eof() return true.

	  In typical usage, input stream processing stops on any error.	 eof()
       and fail() can
	  then be used to distinguish between different	error conditions.

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

	  feof checks for the end-of-file
	       (function)

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

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

home | help