다음을 통해 공유


_set_printf_count_output

, ,wprintf_wprintf_l_printf_l -family 함수에서 printf%n 형식의 지원을 사용하거나 사용하지 않도록 설정합니다.

구문

int _set_printf_count_output(
   int enable
);

매개 변수

enable
%n 지원을 사용하도록 설정하는 0이 아닌 값입니다. %n 지원을 사용하지 않도록 설정하려면 0입니다.

속성 값 또는 반환 값

이 함수를 호출하기 전에 %n 지원의 상태: %n 지원이 활성화된 경우 0이 아닌 경우, 사용하지 않도록 설정된 경우 0입니다.

설명

보안상의 이유로 %n 형식 지정자에 대한 지원은 기본적으로 모든 변형에서 printf 비활성화됩니다. %n이(가) 형식 사양에서 printf 발견되면 기본 동작은 매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기를 호출하는 것입니다. 0이 아닌 인수를 사용하여 호출 _set_printf_count_output 하면 printf-family 함수가 Format 사양 구문 printfwprintf 함수에 설명된 대로 %n을 해석합니다.

요구 사항

루틴에서 반환된 값 필수 헤더
_set_printf_count_output <stdio.h>

호환성에 대한 자세한 내용은 호환성을 참조하세요.

예시

// crt_set_printf_count_output.c
#include <stdio.h>

int main()
{
   int e;
   int i;
   e = _set_printf_count_output( 1 );
   printf( "%%n support was %sabled.\n",
        e ? "en" : "dis" );
   printf( "%%n support is now %sabled.\n",
        _get_printf_count_output() ? "en" : "dis" );
   printf( "12345%n6789\n", &i ); // %n format should set i to 5
   printf( "i = %d\n", i );
}
%n support was disabled.
%n support is now enabled.
123456789
i = 5

참고 항목

_get_printf_count_output