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);,  except
     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)

home | help