다음을 통해 공유


_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의 해당 형식 사양에 따라 변환되어 출력됩니다. 이 printf_s 함수에 대해 포맷은 format 매개 변수와 같은 양식과 함수를 가집니다. 이 fprintf_s, printf_s, 및 sprintf_s 와 다르게 _cprintf_s 또는 _cwprintf_s 는 출력시 line-feed 문자를 캐리지 return-line feed(CR-LF) 조합으로 변환하지 않습니다.

중요 한 차이점은 _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

참고 항목

참조

콘솔 및 포트 I/O

_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

형식 사양 구문: printf 및 wprintf 함수