_cprintf_s, _cprintf_s_l, _cwprintf_s, _cwprintf_s_l
서식을 지정 하 고 콘솔에 출력 합니다.이러한 버전의 수 _cprintf, _cprintf_l, _cwprintf, _cwprintf_l 에 설명 된 대로 보안 향상 기능을 CRT의 보안 기능.
중요 |
---|
이 API는 Windows 런타임에서 실행 되는 응용 프로그램에서 사용할 수 없습니다.자세한 내용은 /zw에 지원 되는 CRT 함수. |
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] ...
);
매개 변수
format
컨트롤 서식 문자열입니다.argument
선택적 매개 변수입니다.locale
사용 하는 로캘.
반환 값
문자 수를 인쇄 합니다.
설명
포맷 하 고 일련의 문자 및 값을 콘솔에 직접 인쇄 하는 이러한 함수를 사용 하는 _putch 함수 (_putwch 에 대한 _cwprintf_s) 문자를 출력.각 argument (있는 경우) 변환 되 고 해당 형식 사양에 따라 출력 format.형식 같은 형성 및 역할을 가진의 format 매개 변수는 printf_s 함수.달리는 fprintf_s, printf_s, 및 sprintf_s 둘 다 작동 _cprintf_s 또는 _cwprintf_s 줄 바꿈 문자 (CR LF) 조합을 공급 캐리지 return–line로 변환 출력 시.
중요 한 차이입니다 _cwprintf_s Windows NT 사용 하는 경우 유니코드 문자를 표시 합니다.달리 _cprintf_s, _cwprintf_s 현재 콘솔 로케일을 사용 하 여
이러한 함수 버전의 _l 접미사는 현재 로캘 대신 전달 된 로캘 매개 변수를 사용 하는 경우를 제외 하 고 동일 합니다.
보안 정보 |
---|
되도록 format 사용자 정의 하는 문자열이 아닙니다. |
다음과 같이 안전 하지 않은 버전 (참조 _cprintf, _cprintf_l, _cwprintf, _cwprintf_l), 이러한 함수 매개 변수의 유효성을 검사 하 고의 설명에 따라 잘못 된 매개 변수 처리기를 호출 매개 변수 유효성 검사경우 format 은 null 포인터입니다.형식 문자열의 유효성도 검사 됩니다 이러한 함수는 안전 하지 않은 버전에서 달리알 수 없거나 잘못 된 형식의 형식 지정자 있으면 이러한 함수는 잘못 된 매개 변수 처리기를 호출 합니다.모든 경우에 실행을 계속 하려면 허용 되는 경우-1은 함수를 반환 하 고 설정 errno 에 EINVAL.
일반 텍스트 루틴 매핑
Tchar.h 루틴 |
_UNICODE 및 _mbcs가 정의 되어 있지 않습니다 |
_Mbcs가 정의 |
_Unicode가 정의 |
---|---|---|---|
_tcprintf_s |
_cprintf_s |
_cprintf_s |
_cwprintf_s |
_tcprintf_s_l |
_cprintf_s_l |
_cprintf_s_l |
_cwprintf_s_l |
요구 사항
루틴 |
필수 헤더 |
---|---|
_cprintf_s,_cprintf_s_l |
<conio.h> |
_cwprintf_s, _cwprintf_s_l |
<conio.h> |
자세한 호환성에 대한 내용은 호환성 소개에서 합니다.
라이브러리
모든 버전의 C 런타임 라이브러리.
예제
// 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 );
}
Output
-16 001d 62511 A Test
참고 항목
참조
_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