다음을 통해 공유


strcat_s, wcscat_s, _mbscat_s

문자열을 추가 합니다.이러한 버전의 수 strcat, wcscat, _mbscat 에 설명 된 대로 보안 향상 기능을 CRT의 보안 기능.

중요중요

_mbscat_s런타임에서 Windows를 실행 하는 응용 프로그램에서 사용할 수 없습니다.자세한 내용은 /zw에 지원 되는 CRT 함수.

errno_t strcat_s(
   char *strDestination,
   size_t numberOfElements,
   const char *strSource 
);
errno_t wcscat_s(
   wchar_t *strDestination,
   size_t numberOfElements,
   const wchar_t *strSource 
);
errno_t _mbscat_s(
   unsigned char *strDestination,
   size_t numberOfElements,
   const unsigned char *strSource 
);
template <size_t size>
errno_t strcat_s(
   char (&strDestination)[size],
   const char *strSource 
); // C++ only
template <size_t size>
errno_t wcscat_s(
   wchar_t (&strDestination)[size],
   const wchar_t *strSource 
); // C++ only
template <size_t size>
errno_t _mbscat_s(
   unsigned char (&strDestination)[size],
   const unsigned char *strSource 
); // C++ only

매개 변수

  • strDestination
    대상 null로 끝나는 문자열 버퍼입니다.

  • numberOfElements
    대상 문자열 버퍼의 크기입니다.

  • strSource
    소스를 null로 끝나는 문자열 버퍼입니다.

반환 값

성공 하는 경우에 0입니다. 실패 시 오류 코드입니다.

오류 조건

strDestination

numberOfElements

strSource

반환 값

내용strDestination

NULL나 종료 되지 않은

any

any

EINVAL

수정 되지 않음

any

any

NULL

EINVAL

strDestination[0] 0으로 설정

any

0 또는 너무 작아서

any

ERANGE

strDestination[0] 0으로 설정

설명

strcat_s 함수 추가 strSource 에 strDestination 결과 문자열에 null 문자를 종료 합니다.초기 문자를 strSource 의 null 종결 문자를 덮어씁니다 strDestination.동작을 strcat_s 원본 및 대상 문자열 겹칠 경우 정의 되어 있지 않습니다.

참고 두 번째 매개 변수는 전체 크기의 버퍼 크기가 아니라 남은 임을:

char buf[16];
strcpy_s(buf, 16, "Start");
strcat_s(buf, 16, " End");               // Correct
strcat_s(buf, 16 – strlen(buf), " End"); // Incorrect

wcscat_s및 _mbscat_s 와이드 및 멀티 바이트 문자 버전의 strcat_s.인수 및 반환 값을 wcscat_s 와이드 문자 문자열입니다. _mbscat_s 멀티 바이트 문자 문자열입니다.이러한 세 가지 함수 그렇지에 동일 하 게 동작 합니다.

경우 strDestination 이거나 null 포인터를 null로 끝나는 수 없습니다 또는 strSource 되는 NULL 포인터를 또는 대상 문자열에 설명 된 대로 잘못 된 매개 변수 처리기를 호출 됩니다, 너무 작은 경우 매개 변수 유효성 검사.이러한 함수는 실행을 계속 하도록 허용 된 경우, 반환 EINVAL 및 설정 errno 에 EINVAL.

C + +에서는 이러한 함수를 사용 하 여 템플릿 오버 로드에 의해 단순화 됩니다. 오버 로드에서 버퍼 길이 자동으로 유추할 수 있습니다 (size 인수를 지정할 필요가 없도록) 및 해당 최신, 안전한 이미지와 이전, 안전 하지 않은 함수가 자동으로 바꿀 수 있습니다.자세한 내용은 보안 템플릿 오버 로드을 참조하십시오.

이러한 함수의 디버그 버전이 먼저 0xFD 사용 하 여 버퍼를 채웁니다.이 동작을 비활성화 하려면 _CrtSetDebugFillThreshold.

일반 텍스트 루틴 매핑

TCHAR입니다.H 루틴

_UNICODE 및 _Mbcs가 정의 되어 있지 않습니다

_Mbcs가 정의

_Unicode가 정의

_tcscat_s

strcat_s

_mbscat_s

wcscat_s

요구 사항

루틴

필수 헤더

strcat_s

<string.h>

wcscat_s

<string.h> 또는 <wchar.h>

_mbscat_s

<mbstring.h>

추가 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.

예제

코드 예제를 참조 하십시오 _mbscpy_s, wcscpy_s strcpy_s.

해당 .NET Framework 항목

System::String::Concat

참고 항목

참조

문자열 조작 (CRT)

strncat, _strncat_l, wcsncat, wcsncat_l, _mbsncat _mbsncat_l

strncmp, wcsncmp, _mbsncmp, _mbsncmp_l

strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l

_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l

strrchr, wcsrchr, _mbsrchr, _mbsrchr_l

strspn, wcsspn, _mbsspn, _mbsspn_l