snprintf_s, snwprintf_s
Remonter à stdio.h - Index
Fichier en-tête
stdio.h
Catégorie
Fonctions d'entrée/sortie formatées
Prototype
int snprintf_s(char * restrict s, rsize_t n, const char * restrict format, ...);
int snwprintf_s(wchar_t * restrict s, rsize_t n, const wchar_t * restrict format, ...);
Description
Envoie la sortie formatée dans le tampon s d'une longueur maximale spécifiée par le paramètre n.
snprintf_s est équivalente à snprintf, en ajoutant des contraintes d'exécution qui interdisent à format d'être à null, à n d'être inférieur à zéro et à RSIZE_MAX.
Si une erreur se produit et si les contraintes d'exécution sont valides, snprintf_s définit alors s[0] sur null.
snprintf_s, à l'inverse de sprintf s, swprintf s, tronquera le résultat sur la longueur du tableau sur lequel pointe s.
Valeur renvoyée
Nombre de caractères de la sortie si s a été suffisamment large, sans tenir compte du caractère de terminaison '\0'. Si une violation de contrainte d'exécution se produit, elle renvoie une valeur négative.
Remarque : Le caractère '\0' est écrit seulement si la valeur renvoyée est supérieure ou égale à zéro et inférieure à n.
Exemple
#include <stdio.h> #include <math.h> int main(void) { char buffer[80]; snprintf_s(buffer, 40, "An approximation of Pi is %f\n", M_PI); puts(buffer); return 0; }