Freigeben über


fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l

Druckt formatierte Daten in einem Stream. Diese Versionen von fprintf, _fprintf_l, fwprintf, _fwprintf_l enthalten Sicherheitserweiterungen wie unter Sicherheitsfunktionen in der CRT beschrieben.

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 zur FILE-Struktur.

  • format
    Formatsteuerzeichenfolge.

  • argument
    Optionale Argumente.

  • locale
    Das zu verwendende Gebietsschema.

Rückgabewert

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

Hinweise

fprintf_s formatiert und gibt eine Reihe von Zeichen und Werten zur Ausgabe stream*.* Jede Funktion argument (falls vorhanden) wird und Ausgabe entsprechend der entsprechenden Formatangabe in format konvertiert . Bei fprintf_s hat das Argument format dieselbe Syntax und Verwendung, die in printf_s.

fwprintf_s ist eine Breitzeichen-Version von fprintf_s; in fwprintf_s ist format eine Zeichenfolge mit Breitzeichen. Diese Funktionen verhalten sich identisch, wenn der Stream im ANSI-Modus geöffnet ist. fprintf_s unterstützt derzeit die Ausgabe in einen UNICODE-Stream nicht.

Die Versionen dieser Funktionen mit dem _l-Suffix sind beinahe identisch, verwenden jedoch den ihnen übergebenen Gebietsschemaparameter anstelle des aktuellen Gebietsschemas.

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 deren Parameter und rufen den ungültigen Parameterhandler auf, wie in Parametervalidierung beschrieben, wenn stream oder format ein NULL-Zeiger ist. Diese Funktionen unterscheiden sich von den nicht sicheren Versionen darin, dass in der Formatzeichenfolge selbst auch überprüft wird. Wenn es dabei unbekannten oder ungültigen Formatbezeichners gibt, generieren diesen Funktionen die ungültige Parameterausnahme. Wenn die weitere Ausführung zugelassen wird, geben diese Funktionen in allen Fällen "– 1" zurück und legen errno auf EINVAL fest. Weitere Informationen zu diesen und anderen Fehlercodes finden Sie unter _doserrno, errno, _sys_errlist und _sys_nerr.

Zuordnung generischer Textroutinen

TCHAR.H-Routine

_UNICODE & _MBCS nicht definiert

_MBCS definiert

_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>

Zusätzliche Informationen zur Kompatibilität 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::IO::StreamWriter::Write

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