_TRUNCATE
문자열 잘라내기 동작을 지정합니다.
#include <stdlib.h>
설명
_TRUNCATE로 전달 될 때 잘라내기 동작 있습니다 해당 count 이 함수에 매개 변수:
strncpy_s, _strncpy_s_l, wcsncpy_s, _wcsncpy_s_l, _mbsncpy_s, _mbsncpy_s_l
strncat_s, _strncat_s_l, wcsncat_s, _wcsncat_s_l, _mbsncat_s, _mbsncat_s_l
_snprintf_s, _snprintf_s_l, _snwprintf_s, _snwprintf_s_l
vsnprintf_s, _vsnprintf_s, _vsnprintf_s_l, _vsnwprintf_s, _vsnwprintf_s_l
대상 버퍼가 너무 작아서 전체 문자열을 저장할 경우 정상적인 동작을 이러한 함수는 오류 상황을 처리 하는 것 (참조 하십시오 매개 변수 유효성 검사).그러나 잘라내기 문자열을 전달 하 여 사용 하는 경우 _TRUNCATE,이 함수들만 등 대상 버퍼가 null로 끝나는 상태로 들어갈 수 있을 만큼 string으로 복사 합니다. 성공적으로 반환 합니다.
문자열 자르기의 영향을 받는 함수의 반환 값을 변경합니다.다음 함수에서 0을 반환 잘리지 않습니다 경우 나 STRUNCATE 잘라내기 발생할 경우:
strncpy_s, _strncpy_s_l, wcsncpy_s, _wcsncpy_s_l, _mbsncpy_s, _mbsncpy_s_l
strncat_s, _strncat_s_l, wcsncat_s, _wcsncat_s_l, _mbsncat_s, _mbsncat_s_l
(원래 snprintf 함수의 동작이 일치) 잘라내기를 발생 하면 복사 잘리지 않습니다 문자 또는-1의 개수를 반환 하는 다음과 같은 기능:
_snprintf_s, _snprintf_s_l, _snwprintf_s, _snwprintf_s_l
vsnprintf_s, _vsnprintf_s, _vsnprintf_s_l, _vsnwprintf_s, _vsnwprintf_s_l
예제
// crt_truncate.c
#include <stdlib.h>
#include <errno.h>
int main()
{
char src[] = "1234567890";
char dst[5];
errno_t err = strncpy_s(dst, _countof(dst), src, _TRUNCATE);
if ( err == STRUNCATE )
printf( "truncation occurred!\n" );
printf( "'%s'\n", dst );
}