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

FreeBSD Manual Pages

  
 
  

home | help
std::basic_istream::seekg(3)  C++ Standard Libary std::basic_istream::seekg(3)

NAME
       std::basic_istream::seekg - std::basic_istream::seekg

Synopsis
	  basic_istream& seekg(	pos_type pos );
	  basic_istream& seekg(	off_type off, std::ios_base::seekdir dir);

	  Sets	input  position	 indicator of the current associated streambuf
       object. In case of
	  failure, calls setstate(std::ios_base::failbit).

	  Before doing anything	else, seekg clears eofbit. (since C++11)

	  seekg	behaves	as UnformattedInputFunction, except that  gcount()  is
       not affected.
	  After	constructing and checking the sentry object,

	  1)  sets  the	 input position	indicator to absolute (relative	to the
       beginning of the
	  file)	value  pos.  Specifically,  executes  rdbuf()->pubseekpos(pos,
       std::ios_base::in)
	  (pubseekpos, in turn,	calls seekpos of the specific buffer, such as
	  filebuf::seekpos, stringbuf::seekpos,	or strstreambuf::seekpos)
	  2)  sets  the	 input position	indicator to position off, relative to
       position, defined
	  by  dir.  Specifically,   executes   rdbuf()->pubseekoff(off,	  dir,
       std::ios_base::in).

Parameters
	  pos -	absolute position to set the input position indicator to.
	  off  - relative position (positive or	negative) to set the input po-
       sition indicator
		to.
		defines	base position to apply the relative offset to. It  can
       be one of the
		following constants:

	  dir -	Constant Explanation
		beg	 the beginning of a stream
		end	 the ending of a stream
		cur	 the current position of stream	position indicator

Return value
	  *this

Exceptions
	  failure  if  an error	occurred (the error state flag is not goodbit)
       and exceptions()
	  is set to throw for that state.

	  If an	internal operation throws an exception,	it is caught and  bad-
       bit is set. If
	  exceptions() is set for badbit, the exception	is rethrown.

Notes
	  seekg(n) is not necessarily equivalent to seekg(n, ios::beg).

Example
       // Run this code

	#include <iostream>
	#include <string>
	#include <sstream>

	int main()
	{
	    std::string	str = "Hello, world";
	    std::istringstream in(str);
	    std::string	word1, word2;

	    in >> word1;
	    in.seekg(0); // rewind
	    in >> word2;

	    std::cout << "word1	= " << word1 <<	'\n'
		      << "word2	= " << word2 <<	'\n';
	}

Output:
	word1 =	Hello,
	word2 =	Hello,

See also
	  tellg	     returns the input position	indicator
		     (public member function)
	  tellp	     returns the output	position indicator
		     (public	 member	    function	 of	std::basic_os-
       tream<CharT,Traits>)
	  seekp	     sets the output position indicator
		     (public	 member	    function	 of	std::basic_os-
       tream<CharT,Traits>)
	  pubseekpos invokes seekpos()
		     (public	member	  function    of    std::basic_stream-
       buf<CharT,Traits>)
	  seekpos    repositions the file position, using absolute addressing
	  [virtual]  (virtual protected	member	function  of  std::basic_file-
       buf<CharT,Traits>)
		     repositions  the next pointer in the input	sequence, out-
       put sequence, or
	  seekpos    both using	absolute addressing
	  [virtual]  (virtual protected	member function	of
		     std::basic_stringbuf<CharT,Traits,Allocator>)
	  seekpos    repositions the next pointer in the input sequence,  out-
       put sequence, or
	  [virtual]  both using	absolute addressing
		     (virtual protected	member function	of std::strstreambuf)
	  pubseekoff invokes seekoff()
		     (public	member	  function    of    std::basic_stream-
       buf<CharT,Traits>)
	  seekoff    repositions the file position, using relative addressing
	  [virtual]  (virtual protected	member	function  of  std::basic_file-
       buf<CharT,Traits>)
		     repositions  the next pointer in the input	sequence, out-
       put sequence, or
	  seekoff    both, using relative addressing
	  [virtual]  (virtual protected	member function	of
		     std::basic_stringbuf<CharT,Traits,Allocator>)
	  seekoff    repositions the next pointer in the input sequence,  out-
       put sequence, or
	  [virtual]  both, using relative addressing
		     (virtual protected	member function	of std::strstreambuf)

http://cppreference.com		  2022.07.31	  std::basic_istream::seekg(3)

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

home | help