Freigeben über


_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.

SicherheitshinweisSicherheitshinweis

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

Gleitkommaunterstützung

Stream E/A

Gebietsschema

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