size_t fwrite ( const void * ptr, size_t size, size_t count, FILE * stream ); |
<cstdio> |
Write block of data to stream
Writes an array of count elements, each one with a size of size bytes, from the block of memory pointed by ptr to the current position in the stream.
The postion indicator of the stream is advanced by the total amount of bytes written.
The total amount of bytes written is (size * count).
Parameters
- ptr
- Pointer to the array of elements to be written.
- size
- Size in bytes of each element to be written.
- count
- Number of elements, each one with a size of size bytes.
- stream
- Pointer to a FILE object that specifies an output stream.
Return Value
The total number of elements successfully written is returned as a
size_t object, which is an integral data type.
If this number differs from the
count parameter, it indicates an error.
Example
/* fwrite example : write buffer */
#include <stdio.h>
int main ()
{
FILE * pFile;
char buffer[] = { 'x' , 'y' , 'z' };
pFile = fopen ( "myfile.bin" , "wb" );
fwrite (buffer , sizeof(buffer[0]) , sizeof(buffer) , pFile );
fclose (pFile);
return 0;
}
|
A file called myfile.bin is created and the content of the buffer is stored into it. For simplicity, the buffer contains char elements, but it can contain any other type.
sizeof(buffer[0]) is the size of the first element in the array (in this case it is one, because the array is made of char elements).
sizeof(buffer) is the length of the array (in this case it is three, because the array has three elements).
See also
fread | Read block of data from stream (function) |
fprintf | Write formatted output to stream (function) |
putc | Write character to stream (function) |
fputc | Write character to stream (function) |