다음을 통해 공유


_mbsnbcat_s, _mbsnbcat_s_l

멀티 바이트 문자열에 추가는 최소한 다른 멀티 바이트 문자 문자열의 첫 번째 n 바이트 CRT의 보안 기능에 설명된 대로 보안 향상 기능이 포함된 _mbsnbcat, _mbsnbcat_l 버전입니다.

중요

이 API는 Windows 런타임에서 실행되는 응용 프로그램에서 사용할 수 없습니다.자세한 내용은 /ZW에서 지원하지 않는 CRT 함수를 참조하십시오.

errno_t _mbsnbcat_s(
   unsigned char *dest,
   size_t sizeInBytes,
   const unsigned char *src,
   size_t count 
);
errno_t _mbsnbcat_s_l(
   unsigned char *dest,
   size_t sizeInBytes,
   const unsigned char *src,
   size_t count,
   _locale_t locale
);
template <size_t size>
errno_t _mbsnbcat_s(
   unsigned char (&dest)[size],
   const unsigned char *src,
   size_t count 
); // C++ only
template <size_t size>
errno_t _mbsnbcat_s_l(
   unsigned char (&dest)[size],
   const unsigned char *src,
   size_t count,
   _locale_t locale
); // C++ only

매개 변수

  • dest
    멀티 바이트 문자 대상 null로 끝나는 문자열입니다.

  • sizeInBytes
    dest 버퍼의 크기(바이트)입니다.

  • src
    멀티 바이트 문자 소스 null로 끝나는 문자열입니다.

  • Count
    이 src 로 부터 dest로 덧붙여지는 바이트의 숫자입니다.

  • locale
    사용할 로캘입니다.

반환 값

성공하면 0이고, 그렇지 않으면 오류 코드입니다.

오류 조건

Dest

sizeInBytes

src

반환 값

NULL

any

any

EINVAL

임의

<= 0

any

EINVAL

임의

any

NULL

EINVAL

오류 조건이 발생 하는 경우 함수는 매개 변수 유효성 검사 에서 설명하는 대로 잘못된 매개 변수 오류를 발생시킵니다. 오류가 처리가된 경우, 함수는 EINVAL 을 반환하고 errno 을 EINVAL 으로 설정합니다.

설명

_mbsnbcat_s 함수는 최소한 첫 번째 src 의 count 바이트를 dest 에 추가 합니다. dest 에서 null 문자로 즉시 선행하는 바이트가 읽어진 바이트인 경우, src 의 초기 바이트에 의해 덮어쓰여 집니다. 그렇지 않으면, src 의 초기 바이트는 dest 의 null 종결 문자 로 덮어씁니다. 이 count 바이트가 덧붙여지기전, null 바이트가 src 에 발생하는 경우, __mbsnbcat_s 은 null 문자를 추가한 src로 부터 모든 바이트를 덧붙입니다. 이 count 이 src의 길이보다 큰 경우, count 장소에 src 이 사용됩니다. 결과 문자열은 null 문자로 종결됩니다. 중복되는 문자열 간에 복사가 이뤄지면 이 동작은 정의되지 않습니다.

출력 값은 로캘의 LC_CTYPE 범주 설정에 영향을 받습니다. 자세한 내용은 setlocale, _wsetlocale을 참조하십시오. _l 접미사가 없는 버전이 현재 로캘을 사용하거나 _l 접미사가 있는 버전이 전달된 로캘 매개 변수 대신일 경우를 제외하고는 해당 함수의 버전과 동일합니다. 자세한 내용은 로캘을 참조하십시오.

C++에서는 템플릿 오버로드로 인해 이러한 함수를 사용하는 것이 보다 간단해 집니다. 오버로드는 버퍼 길이를 자동으로 유추할 수 있으며(크기 인수를 지정할 필요가 없어짐), 기존의 비보안 함수를 보다 최신의 보안 대응 함수로 자동으로 바꿀 수 있습니다. 자세한 내용은 안전한 템플릿 오버로드을 참조하십시오.

이러한 함수의 디버그 버전은 우선 0xFD로 버퍼를 채웁니다. 이 동작을 사용하지 않으려면 _CrtSetDebugFillThreshold를 사용하십시오.

제네릭 텍스트 라우팅 매핑

Tchar.h 루틴

_UNICODE 및 _MBCS 정의되지 않음

_MBCS 정의됨

_UNICODE 정의됨

_tcsncat

strncat

_mbsnbcat_s

wcsncat

_tcsncat_s_l

_strncat_s_l

_mbsnbcat_s_l

_wcsncat_s_l

요구 사항

루틴

필수 헤더

_mbsnbcat_s

<mbstring.h>

_mbsnbcat_s_l

<mbstring.h>

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

해당 .NET Framework 항목

해당 사항 없음. 표준 C 함수를 호출하려면 PInvoke를 사용합니다. 자세한 내용은 플랫폼 호출 예제을 참조하십시오.

참고 항목

참조

문자열 조작(CRT)

_mbsnbcmp, _mbsnbcmp_l

_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l

_mbsnbcpy, _mbsnbcpy_l

_mbsnbcpy_s, _mbsnbcpy_s_l

_mbsnbset, _mbsnbset_l

strncat, _strncat_l, wcsncat, _wcsncat_l, _mbsncat, _mbsncat_l

strncat_s, _strncat_s_l, wcsncat_s, _wcsncat_s_l, _mbsncat_s, _mbsncat_s_l