sprintf() : mémorise des sorties formatées dans une chaîne de caractères.
Prototype:
int sprintf(char *tampon, const char *format [, argument, ...]);
dans: <stdio.h>
Description:
Comme printf(), la fonction sprintf() convertit une ou plusieurs variables suivant les formats précisés. Mais sprintf place les résultats dans la chaîne 'tampon' (son premier argument), alors que printf les envoie sur la sortie standard.
Les résultats placés dans la chaîne pointée par tampon sont terminés par '\0'. Vous devez être sûr que la place suffisante pour coder les résultatsées est disponible.
Pour une description des informations concernant les spécifications de format voir la rubrique printf.
Valeur renvoyée:
la longueur de la chaîne construite (sans compter '\0')
Voir aussi:
Portabilité:
système
UNIX,
DOS,
norme
ANSI.
Exemple:
exemple 1:
#include
#include /* pour utiliser M_PI */
void main(void) {
char buffer[80];
int nbc;
nbc = sprintf(buffer, "Une approximation de Pi : %lf", M_PI );
puts(buffer);
printf( "nombre de caractères : %d\n", nbc);
}
exemple 2:
/*
Dans cet exemple, on génère un format permettant à scanf()
de lire au plus MAX_CAR caractères, afin d'être sûr que
le tableau recevant les données soit de taille suffisante
*/
#include
#include /* Pour uUtiliser strlen() */
#define MAX_CAR 10
void main(void) {
char tampon[1+MAX_CAR]; char format[80];
int nbc;
sprintf( format, "%c%ds", '%', MAX_CAR);
printf( "Format généré : %s\n", format);
printf( "Tapez des caractères : ");
scanf( format, tampon);
printf("lu : %d caractères\n", strlen(tampon));
}