Partager via


_scprintf, _scprintf_l, _scwprintf, _scwprintf_l

Retourne le nombre de caractères dans la chaine formattée.

int _scprintf(
   const char *format [,
   argument] ... 
);
int _scprintf_l(
   const char *format,
   locale_t locale [,
   argument] ... 
);
int _scwprintf(
   const wchar_t *format [,
   argument] ... 
);
int _scwprintf_l(
   const wchar_t *format,
   locale_t locale [,
   argument] ... 
);

Paramètres

  • format
    Chaîne de contrôle de format.

  • argument
    Arguments facultatifs.

  • locale
    Paramètres régionaux à utiliser.

Pour plus d'informations, consultez Spécifications de format.

Valeur de retour

Retourne le nombre de caractères qui seraient générés si la chaîne devaient être imprimée ou envoyée dans un fichier ou dans une mémoire tampon à l'aide de codes de mise en forme spécifiés. La valeur retournée n'inclut pas le caractère NULL terminant la chaine. _scwprintf effectue la même fonction pour des caractères larges.

Si format est un pointeur NULL, le gestionnaire de paramètres non valides est appelé, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, ces fonctions retournent -1 et attribuent à errno la valeur EINVAL.

Pour plus d'informations sur ces éléments et autres codes d'erreur, consultez _doserrno, errno, _sys_errlist et _sys_nerr.

Notes

Chaque argument (si il y en a) est converti selon la spécification du format correspondant format. Le format se compose de caractères ordinaires et a la même forme et fonction que l'argument format pour printf.

Les versions de ces fonctions avec le suffixe _l sont identiques, sauf qu'elles utilisent les paramètres régionaux passés au lieu des paramètres régionaux du thread actuel.

Note de sécuritéNote de sécurité

Assurez-vous que format n'est pas une chaîne définie par l'utilisateur.

Mappages de routines de texte générique

Routine Tchar.h

_UNICODE et _MBCS non définis

_MBCS défini

_UNICODE défini

_sctprintf

_scprintf

_scprintf

_scwprintf

_sctprintf_l

_scprintf_l

_scprintf_l

_scwprintf_l

Configuration requise

Routine

En-tête requis

_scprintf, _scprintf_l

<stdio.h>

_scwprintf, _scwprintf_l

<stdio.h> ou <wchar.h>

Pour plus d'informations sur la compatibilité, consultez Compatibilité dans l'introduction.

Exemple

// crt__scprintf.c

#define _USE_MATH_DEFINES

#include <stdio.h>
#include <math.h>
#include <malloc.h>

int main( void )
{
   int count;
   int size;
   char *s = NULL;

   count = _scprintf( "The value of Pi is calculated to be %f.\n",
                      M_PI);

   size = count + 1; // the string will need one more char for the null terminator
   s = malloc(sizeof(char) * size);
   sprintf_s(s, size, "The value of Pi is calculated to be %f.\n",
                      M_PI);
   printf("The length of the following string will be %i.\n", count);
   printf("%s", s);
   free( s );
}
  

Voir aussi

Référence

E/S de flux

fprintf, _fprintf_l, fwprintf, _fwprintf_l

printf, _printf_l, wprintf, _wprintf_l

scanf, _scanf_l, wscanf, _wscanf_l

sscanf, _sscanf_l, swscanf, _swscanf_l

Fonctions vprintf