Freigeben über


fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l

Druckt formatierte Daten in einen Stream.Dies sind Versionen von fprintf, _fprintf_l, fwprintf, _fwprintf_l mit beschrieben, wie unter Security Enhancements in Sicherheitsfeatures im 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 ]…
);

Parameter

  • stream
    Zeiger auf FILE Struktur.

  • format
    Formatsteuerzeichenfolge.

  • argument
    Optionale Argumente.

  • locale
    Das zu verwendende Gebietsschema.

Rückgabewert

fprintf_s gibt die Anzahl der geschriebenen Bytes zurück.fwprintf_s gibt die Anzahl der geschriebenen Breitzeichen zurück.Jede dieser Funktionen gibt stattdessen einen negativen Wert zurück, wenn ein Ausgabefehler auftritt.

Hinweise

fprintf_s formatiert und gibt eine Reihe von Zeichen und Werte in die Ausgabe stream*.* Jede Funktion argument (falls vorhanden) wird und Ausgabe entsprechend der entsprechenden Formatelement in formatkonvertiert*.* Für fprintf_shat das format-Argument und die gleiche Syntax verwendet wie in printf_sverfügt.

fwprintf_s ist eine Breitzeichen-Version von fprintf_s. format in fwprintf_sist eine Zeichenfolge mit Breitzeichen.Diese Funktionen verhalten sich identisch, wenn der Stream in ANSI-Modus geöffnet ist.fprintf_s gegenwärtig nicht unterstützt Ausgabe in einen UNICODE-Datenstrom.

Die Versionen dieser Funktionen mit dem _l Suffix sind identisch, mit der Ausnahme, dass sie verwenden den Gebietsschemaparameter, der anstelle des aktuellen Gebietsschemas übergeben wird.

SicherheitshinweisSicherheitshinweis

Stellen Sie sicher, dass format keine benutzerdefinierte Zeichenfolge ist.

Wie die nicht-sicheren Versionen (siehe fprintf, _fprintf_l, fwprintf, _fwprintf_l), überprüfen diese Funktionen und rufen ihre Parameter der ungültige Parameter für ein, wie in Parametervalidierungbeschrieben, wenn entweder stream oder format ein NULL-Zeiger ist.Diese Funktionen unterscheiden sich von nicht-sicheren Versionen darin, dass in der Formatzeichenfolge selbst ebenfalls aktiviert ist.Wenn unbekannte oder ungültigen Formatbezeichners gibt diese Funktionen generieren, die ungültige Parameter ausnahme.In allen Fällen darf, wenn die Ausführung fortgesetzt, die Funktionsrückgabe -1, und legen errno zu EINVAL.Weitere Informationen finden Sie unter _doserrno, errno, _sys_errlist und _sys_nerr Weitere Informationen über diese und andere Fehlercodes.

Zuweisung generischer Textroutinen

TCHAR.H-Routine

_UNICODE & _MBCS nicht definiert

_MBCS definieren

_UNICODE definiert

_ftprintf_s

fprintf_s

fprintf_s

fwprintf_s

_ftprintf_s_l

_fprintf_s_l

_fprintf_s_l

_fwprintf_s_l

Weitere Informationen finden Sie unter Formatangaben.

Anforderungen

Funktion

Erforderlicher Header

fprintf_s, _fprintf_s_l

<stdio.h>

fwprintf_s, _fwprintf_s_l

<stdio.h> oder <wchar.h>

Um Kompatibilität zusätzlichen Informationen finden Sie unter Kompatibilität in der Einführung.

Beispiel

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

.NET Framework-Entsprechung

System::EA::StreamWriter::Schreiben

Siehe auch

Referenz

Stream E/A

_cprintf, _cprintf_l, _cwprintf, _cwprintf_l

fscanf, _fscanf_l, fwscanf, _fwscanf_l

sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l