vprintf_s, _vprintf_s_l, vwprintf_s, _vwprintf_s_l
Write formatierte Ausgabe mithilfe eines Zeigers auf eine Liste der Argumente.Diese sind Versionen von vprintf, _vprintf_l, vwprintf, _vwprintf_l mit Sicherheitserweiterungen, wie in Sicherheitsfeatures im CRT beschrieben.
int vprintf_s( const char *format, va_list argptr ); int _vprintf_s_l( const char *format, locale_t locale, va_list argptr ); int vwprintf_s( const wchar_t *format, va_list argptr ); int _vwprintf_s_l( const wchar_t *format, locale_t locale, va_list argptr );
Parameter
format
Formatangabe.argptr
Zeiger auf die Liste der Argumente.locale
Das Gebietsschema zu verwenden.
Weitere Informationen finden Sie unter Formatangaben.
Rückgabewert
vprintf_s und vwprintf_s geben die Anzahl der geschriebenen Zeichen, ohne das NULL oder einen negativen Wert zurück, wenn ein Ausgabefehler auftritt.Wenn format ein NULL-Zeiger ist oder wenn die Formatzeichenfolge ungültige Formatierungszeichen enthält, wird der ungültige Parameterhandler aufgerufen, wie in Parametervalidierung beschrieben.Wenn die Ausführung zulässig ist, um fortzufahren, geben die Funktionen und -1 festgelegt errno zu EINVAL zurück.
Weitere Informationen über diese und andere Fehlercodes, finden Sie unter _doserrno, errno, _sys_errlist und _sys_nerr.
Hinweise
Jede dieser Funktionen verwendet einen Zeiger auf eine Argumentliste, dann Stilen und schreibt stdout die angegebenen Daten.
Die sicheren Versionen dieser Funktionen unterscheiden sich von vprintf und von vwprintf nur darin, dass die sicheren Versionen überprüfen, ob die Formatzeichenfolge gültige Formatierungszeichen enthält.
vwprintf_s ist die Breitzeichen-Version von vprintf_s; die beiden Funktionen verhalten sich identisch, wenn der Stream in ANSI-Modus geöffnet ist.vprintf_s nicht unterstützt Ausgabe in einen UNICODE-Stream.
Die Versionen dieser Funktionen mit dem _l Suffix sind identisch, allerdings verwenden den Gebietsschemaparameter in, der anstelle des aktuellen Threadgebietsschemas übergeben wird.
Sicherheitshinweis |
---|
Stellen Sie sicher, dass format keine benutzerdefinierte Zeichenfolge ist.Weitere Informationen finden Sie unter Vermeiden von Pufferüberläufen. |
Zuordnung generische Textroutinen
TCHAR.H-Routine |
_UNICODE & _MBCS nicht definiert. |
_MBCS definiert |
_UNICODE definiert |
---|---|---|---|
_vtprintf_s |
vprintf_s |
vprintf_s |
vwprintf_s |
_vtprintf_s_l |
_vprintf_s_l |
_vprintf_s_l |
_vwprintf_s_l |
Anforderungen
Routine |
Erforderlicher Header |
Optionale Header |
---|---|---|
vprintf_s, _vprintf_s_l |
<stdio.h> und <stdarg.h> |
<varargs.h>* |
vwprintf_s, _vwprintf_s_l |
<stdio.h> oder <wchar.h>und <stdarg.h> |
<varargs.h>* |
* Benötigt für Kompatibilität UNIX V.
Die Konsole wird nicht in Windows Store-App unterstützt.Die Standardstreamhandles, die mit der Konsole, stdin, stdout und stderr zugeordnet werden, müssen umgeleitet werden, bevor sie C-Laufzeitfunktionen in Windows Store-App verwenden können.So zusätzlicher Kompatibilitätsinformation finden Sie unter Kompatibilität in der Einführung.
.NET Framework-Entsprechung
Siehe auch
Referenz
fprintf, _fprintf_l, fwprintf, _fwprintf_l
printf, _printf_l, wprintf, _wprintf_l