fprintf, fwprintf
Collapse the table of content
Expand the table of content
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

fprintf, fwprintf

Print formatted data to a stream.

int fprintf( 
   FILE *stream,
   const char *format [,
   argument ]...
int fwprintf( 
   FILE *stream,
   const wchar_t *format [,
   argument ]...


Pointer to FILE structure.
Format-control string.
Optional arguments.

Return Value

fprintf returns the number of bytes written. fwprintf returns the number of wide characters written. Each of these functions returns a negative value instead when an output error occurs.


fprintf formats and prints a series of characters and values to the output stream. Each function argument (if any) is converted and output according to the corresponding format specification in format. For fprintf, the format argument has the same syntax and use that it has in printf.

fwprintf is a wide-character version of fprintf; in fwprintf, format is a wide-character string. These functions behave identically otherwise.

Security Note   Ensure that format is not a user-defined string.

Generic-Text Routine Mappings

TCHAR.H routine _UNICODE & _MBCS not defined _MBCS defined _UNICODE defined
_ftprintf fprintf fprintf fwprintf

For more information, see Format Specifications.


Function Required header Compatibility
fprintf <stdio.h> ANSI, Win 98, Win Me, Win NT, Win 2000, Win XP
fwprintf <stdio.h> or <wchar.h> ANSI, Win 98, Win Me, Win NT, Win 2000, Win XP

For additional compatibility information, see Compatibility in the Introduction.


All versions of the C run-time libraries.


// crt_fprintf.c
/* This program uses fprintf to format various
 * data and print it to the file named FPRINTF.OUT. It
 * then displays FPRINTF.OUT on the screen using the system
 * function to invoke the operating-system TYPE command.

#include <stdio.h>
#include <process.h>

FILE *stream;

int main( void )
   int    i = 10;
   double fp = 1.5;
   char   s[] = "this is a string";
   char   c = '\n';

   stream = fopen( "fprintf.out", "w" );
   fprintf( stream, "%s%c", s, c );
   fprintf( stream, "%d\n", i );
   fprintf( stream, "%f\n", fp );
   fclose( stream );
   system( "type fprintf.out" );


this is a string

See Also

Stream I/O Routines | _cprintf | fscanf | sprintf | Run-Time Routines and .NET Framework Equivalents

© 2015 Microsoft