Udostępnij za pośrednictwem


_printf_p, _printf_p_l, _wprintf_p, _wprintf_p_l

Drukuje sformatowane dane wyjściowe do strumienia wyjścia standardowego, z możliwością określenia kolejności, w którym są używane parametry na ciąg formatu.

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]... 
);

Parametry

  • format
    Formatuj formant.

  • argument
    Argumentów opcjonalnych.

  • locale
    Ustawienia regionalne używane.

Wartość zwracana

Zwraca liczbę znaków drukowanych lub wartość ujemną, w przypadku wystąpienia błędu.

Uwagi

_printf_p Funkcja formatuje i wyświetla szereg znaków i wartości, które mają Standardowy strumień wyjściowy, stdout.Jeśli argumenty postępuj zgodnie z format string, format ciąg musi zawierać specyfikacje, które określają format danych wyjściowych dla argumentów (zobacz printf_p parametry pozycyjne).

Różnica między _printf_p i printf_s jest to, że _printf_p obsługuje parametrów pozycyjne, które umożliwia określenie kolejności, w którym argumenty są używane w ciągu formatu.Aby uzyskać więcej informacji, zobacz printf_p parametry pozycyjne.

_wprintf_pjest to wersja szerokich znaków _printf_p; one zachowują się identycznie Jeśli strumień jest otwarty w trybie ANSI._printf_paktualnie nie obsługuje dane wyjściowe do strumienia UNICODE.

Wersje te funkcje za pomocą _l sufiks są identyczne z tym, że używają przekazany zamiast bieżących ustawień regionalnych wątek parametr ustawień regionalnych.

Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

Zapewnienia, że format nie jest ciągiem zdefiniowane przez użytkownika.

Jeśli format lub argument są NULL, lub formatu ciąg zawiera nieprawidłowe znaki formatowania, _printf_p i _wprintf_p funkcji Wywołaj funkcję obsługi nieprawidłowy parametr, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może kontynuować, funkcja zwraca wartość -1 i zestawy errno do EINVAL.

Tekst rodzajowy rutynowych mapowania

Rozpoczęto wykonywanie procedury TCHAR.h

_UNICODE i _MBCS nie zdefiniowany

_MBCS, definicja

_UNICODE, definicja

_tprintf_p

_printf_p

_printf_p

_wprintf_p

_tprintf_p_l

_printf_p_l

_printf_p_l

_wprintf_p_l

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

_printf_p, _printf_p_l

<stdio.h>

_wprintf_p, _wprintf_p_l

<stdio.h> lub <wchar.h>

Konsola nie jest obsługiwana w Windows Store aplikacji.Związanych z konsolą, dojścia do strumienia standard stdin, stdout, i stderr, muszą być przeniesione, aby funkcje uruchomieniowej C mogą być użyte w Windows Store aplikacji.Informacji dotyczących zgodności, zobacz zgodności we wprowadzeniu.

Przykład

// 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);
}
  
  

Odpowiednik w programie .NET Framework

Zobacz też

Informacje

Wsparcie zmiennoprzecinkowe

Strumień we/wy

Ustawienia regionalne

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

Funkcje vprintf