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

FreeBSD Manual Pages

  
 
  

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 indica-
       tor for the
	  stream is indeterminate.

Parameters
	  buffer - pointer to the first	object object in the array to be writ-
       ten
	  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
       action.

Example
       // Run this code

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

	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::vec-
       tor 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)

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

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

home | help