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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::rewind - std::rewind

Synopsis
	  Defined in header <cstdio>
	  void rewind( std::FILE* stream );

	  Moves	the file position indicator to the beginning of	the given file
       stream.

	  The  function	is equivalent to std::fseek(stream, 0, SEEK_SET);, ex-
       cept that
	  end-of-file and error	indicators are cleared.

	  The function drops any effects from previous calls to	ungetc.

Parameters
	  stream - file	stream to modify

Return value
	  (none)

Example
       // Run this code

	#include <array>
	#include <cstdio>

	int main()
	{
	    std::FILE* f = std::fopen("file.txt", "w");
	    for	(char ch = '0';	ch <= '9'; ch++)
		std::fputc(ch, f);
	    std::fclose(f);

	    std::array<char, 20> str;
	    std::FILE* f2 = std::fopen("file.txt", "r");

	    const unsigned size1 = std::fread(str.data(), 1, str.size(), f2);
	    std::puts(str.data());
	    std::printf("size1 = %u\n",	size1);

	    std::rewind(f2);

	    const unsigned size2 = std::fread(str.data(), 1, str.size(), f2);
	    std::puts(str.data());
	    std::printf("size2 = %u", size2);

	    std::fclose(f2);
	}

Output:
	0123456789
	size1 =	10
	0123456789
	size2 =	10

See also
	  fseek	moves the file position	indicator to a specific	location in  a
       file
		(function)
	  C documentation for
	  rewind

http://cppreference.com		  2024.06.10			std::rewind(3)

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

home | help