Freigeben über


_printf_p, _printf_p_l, _wprintf_p, _wprintf_p_l

Druckt die formatierte Ausgabe in den Standardausgabestream und ermöglicht die Festlegung der 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
    Formatsteuerung

  • argument
    Optionale Argumente.

  • locale
    Das zu verwendende Gebietsschema.

Rückgabewert

Gibt die Anzahl gedruckter Zeichen oder einen negativen Wert zurück, wenn ein Fehler auftritt.

Hinweise

Die _printf_p -Funktion formatiert und druckt eine Reihe von Zeichen und Werten im Standardausgabestream stdout. Wenn Argumente der format-Zeichenfolge folgen, muss die format-Zeichenfolge Spezifikationen enthalten, die das Ausgabeformat der Argumente festlegen (siehe printf_p-Positionsparameter).

Der Unterschied zwischen _printf_p und printf_s ist, dass _printf_p positionelle Parameter unterstützt, wodurch festgelegt werden kann, in welcher Reihenfolge die Argumente in der Formatzeichenfolge verwendet werden. Weitere Informationen finden Sie unter printf_p-Positionsparameter.

_wprintf_p ist die Breitzeichenversion von _printf_p; sie verhalten sich identisch, wenn der Stream im ANSI-Modus geöffnet wird. _printf_p 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 Threadgebietsschemas.

SicherheitshinweisSicherheitshinweis

Stellen Sie sicher, dass format keine benutzerdefinierte Zeichenfolge ist.

Wenn format oder argumentNULL sind, oder wenn die Formatzeichenfolge ungültige Formatierungszeichen enthält, rufen die _printf_p- und _wprintf_p-Funktionen einen Handler für ungültige Parameter auf, wie in Parametervalidierung beschrieben. Wenn die weitere Ausführung zugelassen wird, gibt die Funktion – 1 zurück und stellt errno auf EINVAL ein.

Zuordnung generischer 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 in Windows Store-Apps nicht unterstützt. Die mit der Konsole verknüpften Standardstreamhandles, stdin, stdout und stderr, müssen umgeleitet werden, bevor sie von C-Laufzeitfunktionen in Windows Store-Apps verwendet werden können. Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

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

Gleitkommaunterstützung

Stream-E/A

Locale

fopen, _wfopen

_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

sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l

vprintf-Funktionen