fwrite

Description

Writes data to a stream.

#include <stdio.h>

size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream );

buffer Pointer to data to be written  
size Item size in bytes  
count Maximum number of items to be written  
stream Pointer to FILE structure  

Remarks

The fwrite function writes up to count items, of length size each, from buffer to the output stream. The file pointer associated with stream (if there is one) is incremented by the number of bytes actually written.

If stream is opened in text mode, each carriage return is replaced with a carriage-return–line-feed pair. The replacement has no effect on the return value.

Return Value

The fwrite function returns the number of full items actually written, which may be less than count if an error occurs. Also, if an error occurs, the file-position indicator cannot be determined.

Compatibility

Standards:ANSI, UNIX

16-Bit:DOS, QWIN, WIN, WIN DLL

32-Bit:DOS32X

See Also

fread, _write

Example

/* FREAD.C: This program opens a file named FREAD.OUT and writes 25

* characters to the file. It then tries to open FREAD.OUT and

* read in 25 characters. If the attempt succeeds, the program

* displays the number of actual items read.

*/

#include <stdio.h>

void main( void )

{

FILE *stream;

char list[30];

int i, numread, numwritten;

/* Open file in text mode: */

if( (stream = fopen( "fread.out", "w+t" )) != NULL )

{

for ( i = 0; i < 25; i++ )

list[i] = 'z' - i;

/* Write 25 characters to stream */

numwritten = fwrite( list, sizeof( char ), 25, stream );

printf( "Wrote %d items\n", numwritten );

fclose( stream );

}

else

printf( "Problem opening the file\n" );

if( (stream = fopen( "fread.out", "r+t" )) != NULL )

{

/* Attempt to read in 25 characters */

numread = fread( list, sizeof( char ), 25, stream );

printf( "Number of items read = %d\n", numread );

printf( "Contents of buffer = %.25s\n", list );

fclose( stream );

}

else

printf( "Was not able to open the file\n" );

}

Output

Wrote 25 items

Number of items read = 25

Contents of buffer = zyxwvutsrqponmlkjihgfedcb