Condividi tramite


_scprintf, _scprintf_l, _scwprintf, _scwprintf_l

Restituisce il numero di caratteri presenti nella stringa formattata.

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] ... 
);

Parametri

  • format
    Stringa di controllo del formato.

  • argument
    Argomenti facoltativi.

  • locale
    Impostazioni locali da utilizzare.

Per ulteriori informazioni, vedere Specifiche di formato.

Valore restituito

Restituisce il numero di caratteri che verrebbero generati se la stringa dovesse essere stampata o mandata ad un file o un buffer tramite i codici di formattazione specificati. Il valore restituito non include il carattere di terminazione null. _scwprintf esegue la stessa funzione per i caratteri di tipo "wide".

Se format è un NULL puntatore null, viene richiamato il gestore di parametro non valido, come descritto in Convalida dei parametri. Se l'esecuzione può continuare, la funzione restituisce -1 e imposta errno su EINVAL.

Per ulteriori informazioni su questi e altri codici, vedere _doserrno, errno, _sys_errlist, e _sys_nerr.

Note

Ogni argument (se presente) viene convertito in base alla tipo di formato specificato in format. Il formato è costituito da caratteri ordinari e ha lo stesso formato e la stessa funzione dell'argomento format per la funzione printf.

Le versioni di queste funzioni con il suffisso _l sono identiche ad eccezione per il fatto che utilizzano il parametro delle impostazioni locali passato al posto di quelle del thread corrente.

Nota sulla sicurezzaNota sulla sicurezza

Assicurarsi che format non sia una stringa definita dall'utente.

Mapping di routine di testo generico

Routine Tchar.h

_UNICODE e _MBCS non definiti

_MBCS definito

_UNICODE definito

_sctprintf

_scprintf

_scprintf

_scwprintf

_sctprintf_l

_scprintf_l

_scprintf_l

_scwprintf_l

Requisiti

Routine

Intestazione obbligatoria

_scprintf, _scprintf_l

<stdio.h>

_scwprintf, _scwprintf_l

<stdio.h> o <wchar.h>

Per ulteriori informazioni sulla compatibilità, vedere Compatibilità nell'introduzione.

Esempio

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

Vedere anche

Riferimenti

I/O di flusso

fprintf, _fprintf_l, fwprintf, _fwprintf_l

printf, _printf_l, wprintf, _wprintf_l

scanf, _scanf_l, wscanf, _wscanf_l

sscanf, _sscanf_l, swscanf, _swscanf_l

Funzioni vprintf