[Previous] [Contents] [Next]

sprintf()

Print formatted output into a string

Synopsis:

#include <stdio.h>

int sprintf( char* buf, 
             const char* format, 
             ... );

Library:

libc

Description:

The sprintf() function is equivalent to the fprintf() function, except that the argument buf specifies a character array into which the generated output is placed, rather than to a file. A null character is placed at the end of the generated character string. For details about the format string, see printf().

Returns:

The number of characters written into the array, not counting the terminating null character. An error can occur while converting a value for output. When an error occurs, errno indicates the type of error detected.

Examples:

#include <stdio.h>
#include <stdlib.h>

/* Create temporary file names using a counter */

char namebuf[13];
int  TempCount = 0;

char* make_temp_name()
  {
    sprintf( namebuf, "ZZ%.6o.TMP", TempCount++ );
    return( namebuf );
  }

int main( void )
  {
    FILE* tf1,* tf2;

    tf1 = fopen( make_temp_name(), "w" );
    tf2 = fopen( make_temp_name(), "w" );
    fputs( "temp file 1", tf1 );
    fputs( "temp file 2", tf2 );
    fclose( tf1 );
    fclose( tf2 );
    return EXIT_SUCCESS;
  }

Classification:

ANSI

Safety:
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes

See also:

errno, fprintf(), printf(), vfprintf(), vprintf(), vsprintf()


[Previous] [Contents] [Next]