_printf_p, _printf_p_l, _wprintf_p, _wprintf_p_l
Drucken formatierte Ausgabe den Standardausgabestream, mit der Möglichkeit, die Reihenfolge, in der die Parameter in der Formatzeichenfolge verwendet werden.
int _printf_p( const char *format [, argument]... ); int _printf_p_l( const char *format, locale_t locale [, argument]... ); int _wprintf_p( const wchar_t *format [, argument]... ); int _wprintf_p_l( const wchar_t *format, locale_t locale [, argument]... );
Parameter
format
Formatsteuerelement.argument
Optionale Argumente.locale
Das Gebietsschema zu verwenden.
Rückgabewert
Gibt die Anzahl der gedruckten Zeichen oder von negativen Wert zurück, wenn ein Fehler auftritt.
Hinweise
Die _printf_p-Funktion formatiert und gibt eine Reihe von Zeichen und Werte den Standardausgabestream, stdout.Wenn Argumente der format Zeichenfolge ausführen, muss die Zeichenfolge format Spezifikation enthalten, die das Ausgabeformat für die Argumente bestimmen (siehe printf_p positionelle Parameter).
Der Unterschied zwischen _printf_p und printf_s ist, dass _printf_p positionelle Parameter unterstützt, der das Angeben der Reihenfolge ermöglicht, in der die Argumente in der Formatzeichenfolge verwendet werden.Weitere Informationen finden Sie unter printf_p positionelle Parameter.
_wprintf_p ist die Breitzeichen-Version von _printf_p; sie verhalten sich identisch, wenn der Stream in ANSI-Modus geöffnet ist._printf_p 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. |
Wenn format oder argumentNULL sind oder der Formatzeichenfolge ungültige Formatierungszeichen enthält, rufen _printf_p und _wprintf_p-Funktionen einen ungültigen Parameterhandler auf, wie in Parametervalidierung beschrieben.Wenn die Ausführung zulässig ist, um fortzufahren, gibt die Funktion -1 zurück und legt errno zu EINVAL fest.
Zuordnung generische Textroutinen
Tchar.h-Routine |
_UNICODE und _MBCS nicht definiert |
_MBCS definiert |
_UNICODE definiert |
---|---|---|---|
_tprintf_p |
_printf_p |
_printf_p |
_wprintf_p |
_tprintf_p_l |
_printf_p_l |
_printf_p_l |
_wprintf_p_l |
Anforderungen
Routine |
Erforderlicher Header |
---|---|
_printf_p, _printf_p_l |
<stdio.h> |
_wprintf_p, _wprintf_p_l |
<stdio.h> oder <wchar.h> |
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.Weitere Kompatibilitätsinformation finden Sie unter Kompatibilität in der Einführung.
Beispiel
// crt_printf_p.c
// This program uses the _printf_p and _wprintf_p
// functions to choose the order in which parameters
// are used.
#include <stdio.h>
int main( void )
{
// Positional arguments
_printf_p( "Specifying the order: %2$s %3$s %1$s %4$s %5$s.\n",
"little", "I'm", "a", "tea", "pot");
// Resume arguments
_wprintf_p( L"Reusing arguments: %1$d %1$d %1$d %1$d\n", 10);
// Width argument
_printf_p("Width specifiers: %1$*2$s", "Hello\n", 10);
}
.NET Framework-Entsprechung
Siehe auch
Referenz
_fprintf_p, _fprintf_p_l, _fwprintf_p, _fwprintf_p_l
fprintf, _fprintf_l, fwprintf, _fwprintf_l
fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l
scanf, _scanf_l, wscanf, _wscanf_l
scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l
_sprintf_p, _sprintf_p_l, _swprintf_p, _swprintf_p_l
sprintf, _sprintf_l, swprintf, _swprintf_l, __swprintf_l