Udostępnij za pośrednictwem


_cprintf_s, _cprintf_s_l, _cwprintf_s, _cwprintf_s_l

Formaty i na wydruku do konsoli.Są to wersje _cprintf, _cprintf_l, _cwprintf, _cwprintf_l z ulepszeń zabezpieczeń, zgodnie z opisem w Funkcje zabezpieczeń w CRT.

Ważna uwagaWażne

Ten interfejs API nie można używać w aplikacji, których wykonywanie w czasie wykonywania systemu Windows.Aby uzyskać więcej informacji, zobacz CRT funkcje nie obsługiwane przez /ZW.

int _cprintf_s( 
   const char * format [, 
   argument] ... 
);
int _cprintf_s_l( 
   const char * format,
   locale_t locale [, 
   argument] ... 
);
int _cwprintf_s(
   const wchar * format [, 
   argument] ...
);
int _cwprintf_s_l(
   const wchar * format,
   locale_t locale [, 
   argument] ...
);

Parametry

  • format
    Ciąg sterowania formatem.

  • argument
    Parametry opcjonalne.

  • locale
    Ustawienia regionalne używane.

Wartość zwracana

Liczba znaków wydrukowanych.

Uwagi

Te funkcje formatować i drukować szereg znaków i wartości bezpośrednio do konsoli, za pomocą _putch funkcja (_putwch dla _cwprintf_s) do znaków danych wyjściowych.Każdy argument (jeśli istnieje) jest konwertowany i wyjście według specyfikacji formatu w format.Format ma takie same tworzą i funkcjonować jako format parametr dla printf_s funkcji.W przeciwieństwie do fprintf_s, printf_s, i sprintf_s funkcji, ani _cprintf_s ani _cwprintf_s tłumaczy znaki wysuwu wiersza na return–line przewozu paszy kombinacje (CR-LF) podczas drukowania.

Istotna różnica jest to, że _cwprintf_s są wyświetlane znaki Unicode w systemie Windows NT.W przeciwieństwie do _cprintf_s, _cwprintf_s używa bieżących ustawień regionalnych konsoli

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

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

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

Jak wersje niezabezpieczonego (zobacz _cprintf, _cprintf_l, _cwprintf, _cwprintf_l), te funkcje sprawdzania poprawności ich parametrów i invoke handler nieprawidłowy parametr, zgodnie z opisem w Sprawdzanie poprawności parametru, jeśli format jest pusty wskaźnik.Funkcje te różnią się od wersji nie są bezpieczne, w tym sam ciąg formatu jest również sprawdzone.W przypadku wszelkich nieznany lub źle sformułowane specyfikatory formatowania, funkcje te wywołuje procedurę obsługi nieprawidłowy parametr.We wszystkich przypadkach, jeśli wykonanie może kontynuować, funkcje zwracają wartość -1 i ustawić errno do EINVAL.

Tekst rodzajowy rutynowych mapowania

Rozpoczęto wykonywanie procedury TCHAR.h

_UNICODE i _MBCS nie zdefiniowany

_MBCS, definicja

_UNICODE, definicja

_tcprintf_s

_cprintf_s

_cprintf_s

_cwprintf_s

_tcprintf_s_l

_cprintf_s_l

_cprintf_s_l

_cwprintf_s_l

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

_cprintf_s,_cprintf_s_l

<conio.h>

_cwprintf_s, _cwprintf_s_l

<conio.h>

Informacji dotyczących zgodności, zobacz zgodności we wprowadzeniu.

Biblioteki

Wszystkie wersje programu biblioteki uruchomieniowej C.

Przykład

// crt_cprintf_s.c
// compile with: /c
// This program displays some variables to the console.


#include <conio.h>

int main( void )
{
   int      i = -16, h = 29;
   unsigned u = 62511;
   char     c = 'A';
   char     s[] = "Test";

   /* Note that console output does not translate \n as
    * standard output does. Use \r\n instead.
    */
   _cprintf_s( "%d  %.4x  %u  %c %s\r\n", i, h, u, c, s );
}

Dane wyjściowe

-16  001d  62511  A Test

Zobacz też

Informacje

Konsoli i portów We/Wy

_cscanf, _cscanf_l, _cwscanf, _cwscanf_l

fprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l

printf_s, _printf_s_l, wprintf_s, _wprintf_s_l

sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l

vfprintf_s, _vfprintf_s_l, vfwprintf_s, _vfwprintf_s_l

Składnia specyfikacji formatu: funkcje printf i wprintf