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.
Sicherheitshinweis |
---|
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
_cprintf, _cprintf_l, _cwprintf, _cwprintf_l