다음을 통해 공유


StrNCatA 함수(shlwapi.h)

한 문자열의 시작부터 다른 문자열의 끝까지 지정된 수의 문자를 추가합니다.

참고 이 함수 또는 StrCatN 매크로를 사용하지 마세요. 대체 함수는 비고를 참조하세요.
 

구문

PSTR StrNCatA(
  [in, out] PSTR  psz1,
            PCSTR psz2,
            int   cchMax
);

매개 변수

[in, out] psz1

형식: PTSTR

함수가 psz2의 문자를 추가하는 null로 끝나는 문자열에 대한 포인터입니다. 결합된 문자열과 종료되는 null 문자를 저장할 수 있을 만큼 커야 합니다.

psz2

형식: PCTSTR

추가할 null로 끝나는 문자열에 대한 포인터입니다.

cchMax

형식: int

psz2의 시작 부분에서 psz1에 추가할 문자 수입니다.

반환 값

형식: PTSTR

결합된 문자열 을 포함하는 psz1에 대한 포인터를 반환합니다.

설명

보안 경고: 이 함수를 잘못 사용하면 애플리케이션의 보안이 손상됩니다. 첫 번째 인수 인 psz1psz2 를 보유할 수 있을 만큼 커야 하며 닫는 '\0'이면 버퍼 오버런이 발생할 수 있습니다. 버퍼 오버런은 액세스 위반이 발생하는 경우 애플리케이션에 대한 서비스 거부 공격으로 이어질 수 있습니다. 최악의 경우 버퍼 오버런을 통해 공격자가 실행 코드를 프로세스에 삽입할 수 있습니다(특히 psz1 이 스택 기반 버퍼인 경우). 마지막 인수인 cchMaxpsz1에 복사할 문자 수이며 반드시 psz1 의 크기(바이트)가 아닙니다. 다음 대안 중 하나를 사용하는 것이 좋습니다. StringCbCat, StringCbCatEx, StringCbCatN, StringCbCatNEx, StringCchCatCat, StringCchCatEx, StringCchCatN 또는 StringCchCatNEx. 계속하기 전에 보안 고려 사항: Microsoft Windows Shell 을 검토해야 합니다.

참고

shlwapi.h 헤더는 UNICODE 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 StrNCat을 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional, Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 shlwapi.h
라이브러리 Shlwapi.lib
DLL Shlwapi.dll(버전 4.71 이상)