12.4.1 Fabrication d'une chaîne par sprintf (utilité : ***)

Icône de l'outil pédagogique Fabrication d'une chaîne par sprintf (utilité : ***)

Pour l'affichage (en particulier sous interface graphique), on a souvent besoin de fabriquer une chaîne de caractères en assemblant du texte et des valeurs numériques. La fonction sprintf, une des fonctions les plus utiles, fournit un moyen très simple pour y arriver. Elle fonctionne exactement comme printf, sauf que le résultat est stocké dans une chaîne de caractères au lieu d'être affiché à l'écran.

sprintf est une fonction « universelle » qui remplace avantageusement les fonctions de copie
ou de concaténation.

Exemple 72 : Fabrication d’une chaîne quelconque (voir sprintf dans l’Exemple 71).

L’utilisation de sprintf est souvent préalable à un affichage, en particulier dans le mode graphique pour lequel printf n’existe pas (fenêtre « Windows »), ou encore dans un fichier texte. Par exemple, la fonction MessagePopup de CVI affiche n’importe quoi dans une fenêtre popup, pourvu qu’on le lui donne sous forme de chaîne de caractères (avec un titre en option). Voir Exemple 71.
L’affichage de la chaîne de l’exemple ci‐dessus peut ainsi s’écrire :

MessagePopup ("Combien gagnent-ils ?", phrase); /* la chaîne constante est le titre */

Une autre application possible de sprintf est la conversion de valeurs numériques (entières ou réelles) en chaînes de caractères.

Exemple 73 : Conversion d’une valeur numérique en chaîne avec sprintf 

Pour convertir l’entier 9876543 en la chaîne "9876543", il suffit d’écrire :

sprintf( chaine, "%ld ", entier_long_a_convertir ) ;