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 항목
참고 항목
참조
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