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

NAME
     std::fwrite - std::fwrite

Synopsis
	Defined in header <cstdio>
	std::size_t  fwrite(  const  void* buffer, std::size_t size, std::size_t
     count,
	std::FILE* stream );

	Writes up to count binary objects from the given  array  buffer  to  the
     output stream
	stream.  The  objects are written as if by reinterpreting each object as
     an array of
	unsigned char and calling std::fputc size times for each object to write
     those
	unsigned chars into stream, in order. The file	position  indicator  for
     the stream is
	advanced by the number of characters written.

	If the objects are not TriviallyCopyable, the behavior is undefined.

	If  an	error occurs, the resulting value of the file position indicator
     for the
	stream is indeterminate.

Parameters
	buffer - pointer to the first object in the array to be written
	size   - size of each object
	count  - the number of the objects to be written
	stream - output file stream to write to

Return value
	Number of objects written successfully, which may be less than count  if
     an error
	occurred.

	If  size or count is zero, fwrite returns zero and performs no other ac-
     tion.

Example
     // Run this code

      #include <array>
      #include <cstdio>
      #include <vector>

      int main ()
      {
	  // write buffer to file
	  if (std::FILE* f1 = std::fopen("file.bin", "wb"))
	  {
	      std::array<int, 3> v = {42,  -1,	7};  //  underlying  storage  of
     std::array is an array
	      std::fwrite(v.data(), sizeof v[0], v.size(), f1);
	      std::fclose(f1);
	  }

	  // read the same data and print it to the standard output
	  if (std::FILE* f2 = std::fopen("file.bin", "rb"))
	  {
	      std::vector<int> rbuf(10); // underlying storage of std::vector is
     also an array
	      std::size_t   sz	 =   std::fread(rbuf.data(),   sizeof	rbuf[0],
     rbuf.size(), f2);
	      std::fclose(f2);
	      for (std::size_t n = 0; n < sz; ++n)
		  std::printf("%d\n", rbuf[n]);
	  }
      }

Output:
      42
      -1
      7

See also
	printf
	fprintf  prints formatted output to stdout, a file stream or a buffer
	sprintf  (function)
	snprintf
	(C++11)
	fputs	 writes a character string to a file stream
		 (function)
	fread	 reads from a file
		 (function)
	C documentation for
	fwrite

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

home | help