_cprintf_s, _cprintf_s_l, _cwprintf_s, _cwprintf_s_l
Formatuje i drukuje do konsoli.Te wersje _cprintf, _cprintf_l, _cwprintf, _cwprintf_l mają wzmocnienia zabezpieczeń, jak opisano w Funkcje zabezpieczeń w CRT.
![]() |
---|
Tego API nie można używać w aplikacjach korzystających ze środowiska wykonawczego Windows.Aby uzyskać więcej informacji, zobacz Funkcje CRT nieobsł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 formantu formatu.argument
Parametry opcjonalne.locale
Ustawienia regionalne do użycia.
Wartość zwracana
Liczba znaków wydrukowanych.
Uwagi
Te funkcje formatują i drukują szeregi znaków i wartości bezpośrednio do konsoli, za pomocą _putch funkcji (_putwch dla _cwprintf_s) do znaków danych wyjściowych.Każdy argument (jeśli istnieje) jest konwertowaya i wychodzi według specyfikacji formatu w format.Format ma taką samą formę i funkcjonuje jako format parametr dla printf_s funkcji.W przeciwieństwie do funkcji fprintf_s, printf_s i sprintf_s, ani _cprintf_s ani _cwprintf_s nie tłumaczy znaków przesunięcia o wiersz na kombinacje znaków twardego końca wiersza (CR-LF) podczas drukowania.
Istotna różnica polega na tym, że _cwprintf_s wyświetla znaki Unicode w systemie Windows NT.W przeciwieństwie do _cprintf_s, _cwprintf_s używa bieżącej konsoli regionalnej.
Wersje tych funkcji, które mają przyrostek _l są identyczne, z tą różnicą, że korzystają z przekazanego parametru ustawień regionalnych, zamiast bieżących ustawień regionalnych.
![]() |
---|
Zapewnienia, że format nie jest ciągiem zdefiniowanym przez użytkownika. |
Podobnie jak niezabezpieczone wersje (patrz _cprintf, _cprintf_l, _cwprintf, _cwprintf_l), funkcje te sprawdzają poprawność swoich parametrów i wywołują procedurę obsługi nieprawidłowego parametru, jak opisano w Sprawdzanie poprawności parametru, jeśli format jest wskaźnikiem typu null.Funkcje te różnią się od wersji niezabezpieczonej, a tym samym ciąg formatu jest również sprawdzany.W przypadku wszelkich nieznanych lub źle sformułowanych specyfikatorów formatowania, funkcji te wywołają procedurę obsługi nieprawidłowego parametru.We wszystkich przypadkach, jeśli wykonanie może być kontynuowane, te funkcje zwracają wartość -1 i ustawiają errno jako EINVAL.
Rutynowe mapowania zwykłego tekstu
Procedura Tchar.h |
_UNICODE i _MBCS nie zdefiniowany |
_MBCS zdefiniowano |
_UNICODE zdefiniowany |
---|---|---|---|
_tcprintf_s |
_cprintf_s |
_cprintf_s |
_cwprintf_s |
_tcprintf_s_l |
_cprintf_s_l |
_cprintf_s_l |
_cwprintf_s_l |
Wymagania
Procedura |
Wymagany nagłówek |
---|---|
_cprintf_s,_cprintf_s_l |
<conio.h> |
_cwprintf_s, _cwprintf_s_l |
<conio.h> |
Aby uzyskać więcej informacji na temat zgodności – zobacz: Zgodność.
Biblioteki
Wszystkie wersje Bibliotek uruchomieniowych 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
Operacje We/Wy konsoli i portu
_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