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