Condividi tramite


fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l

Stampare dati formattati in un flusso.Queste sono versioni di fprintf, _fprintf_l, fwprintf, _fwprintf_l con i miglioramenti della sicurezza come descritto in Funzionalità di sicurezza in CRT.

int fprintf_s( 
   FILE *stream,
   const char *format [,
   argument ]...
);
int _fprintf_s_l( 
   FILE *stream,
   const char *format,
   locale_t locale [,
   argument ]...
);
int fwprintf_s( 
   FILE *stream,
   const wchar_t *format [,
   argument ]...
);
int _fwprintf_s_l( 
   FILE *stream,
   const wchar_t *format,
   locale_t locale [,
   argument ]…
);

Parametri

  • stream
    Puntatore alla struttura FILE.

  • format
    Stringa di formato e di controllo.

  • argument
    Argomenti facoltativi.

  • locale
    Le impostazioni locali da utilizzare.

Valore restituito

fprintf_s restituisce il numero di byte scritti.fwprintf_s restituisce il numero di caratteri di tipo "wide" scritti.Ognuna di queste funzioni restituisce un valore negativo quando si verifica un errore di output.

Note

fprintf_s formatta e visualizza una stringa di caratteri e di valori nello streamdi output*.* Ogni funzione argument (se presente) viene convertita e restituita in base al formato specificato in format*.* Per fprintf_s, l'argomento format ha la stessa sintassi e la stessa funzione che ha in printf_s.

fwprintf_s è una versione a caratteri di tipo "wide" di fprintf_s; in fwprintf_s, format è una stringa di caratteri di tipo "wide".Queste funzioni si comportano in modo identico se il flusso viene aperto in modalità ANSI.fprintf_s non supporta attualmente l'output in un flusso UNICODE.

Le versioni di queste funzioni con il suffisso _l sono identiche ad eccezione che utilizzano il parametro delle impostazioni locali passato in ingresso invece di utilizzare le impostazioni locali correnti.

Nota sulla sicurezzaNota sulla sicurezza

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

Come per le versioni non sicure (vedere fprintf, _fprintf_l, fwprintf, _fwprintf_l), queste funzioni convalidano i relativi parametri e richiamano il gestore di parametro non valido, come descritto in Convalida dei parametri, se lo stream o format sono dei puntatori a null.Queste funzioni differiscono dalle versioni non sicure nel fatto che la stringa stessa viene convalidata.Se dovessero esserci specificatori sconosciuti o male formattati, queste funzioni generano l'eccezione di parametro non valido.In tutti i casi, se l'esecuzione può continuare, la funzione restituisce -1 e imposta errno a EINVAL.Vedere _doserrno, errno, _sys_errlist, e _sys_nerr per ulteriori informazioni su questi, e altri, codici di errore.

Mapping di routine a Testo generico

TCHAR.H routine

_UNICODE & _MBCS non definiti

_MBCS definito

_UNICODE definito

_ftprintf_s

fprintf_s

fprintf_s

fwprintf_s

_ftprintf_s_l

_fprintf_s_l

_fprintf_s_l

_fwprintf_s_l

Per ulteriori informazioni, vedere Specifiche di formato.

Requisiti

Funzione

Intestazione obbligatoria

fprintf_s, _fprintf_s_l

<stdio.h>

fwprintf_s, _fwprintf_s_l

<stdio.h> o <wchar.h>

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

Esempio

// crt_fprintf_s.c
// This program uses fprintf_s to format various
// data and print it to the file named FPRINTF_S.OUT. It
// then displays FPRINTF_S.OUT on the screen using the system
// function to invoke the operating-system TYPE command.
 
#include <stdio.h>
#include <process.h>

FILE *stream;

int main( void )
{
   int    i = 10;
   double fp = 1.5;
   char   s[] = "this is a string";
   char   c = '\n';

   fopen_s( &stream, "fprintf_s.out", "w" );
   fprintf_s( stream, "%s%c", s, c );
   fprintf_s( stream, "%d\n", i );
   fprintf_s( stream, "%f\n", fp );
   fclose( stream );
   system( "type fprintf_s.out" );
}
  

Equivalente .NET Framework

System::IO::StreamWriter::Write

Vedere anche

Riferimenti

Flusso I/O

_cprintf, _cprintf_l, _cwprintf, _cwprintf_l

fscanf, _fscanf_l, fwscanf, _fwscanf_l

sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l