_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ż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ń |
---|
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
_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