stdio.h

Función snprintf ANSI C

int snprintf(char *cadena, size_t size, const char *formato, ...);

Esta función es equivalente a sprintf, excepto que el argumento size especifica el tamaño máximo del array cadena en el que se sitúa la salida. Un carácter nulo es escrito al final de los caracteres y no es contado como parte de la suma retornada. El comportamiento acerca de copiando entre objetos que se superponen no está definido.

Valor de retorno:

La función snprintf retorna el número de caracteres escritos al array, sin contar el carácter nulo al final.

Ejemplo:

#include <stdio.h>

int main()
{
   char nombre[20], mensaje[81];
   unsigned int edad=0;

   printf( "Escriba su nombre: " );
   scanf( "%s", nombre );
   printf( "Escriba su edad: " );
   scanf( "%u", &edad );

   snprintf( mensaje, 81, "\nHola %s. Tienes %d anyos.\n", nombre, edad );
   puts( mensaje );

   return 0;
}