snprintf_s, snwprintf_s

De RAD Studio
Aller à : navigation, rechercher

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;
}

Voir aussi