반응형
#include <string.h>
size_t strlcat(char *dst, const char *src, size_t size);
이 함수는 strcat 함수와 동일하다. 보안 목적을 위해 strcat 대신 사용할 목적으로 만들어졌다.
dst의 기존 데이터에 src 데이터를 붙여 넣는다. size 만큼
여기서 중요한 건 size이다.
size = dst 길이 + 붙일 데이터 길이 + NULL 값을 넣어야 한다.
dst 길이보다 작으면 src 데이터가 넣어지진 않는다.
즉, size는 dst 길이 + NULL 길이보다 클 때부터 src 데이터가 들어간다.
예를 들어
dst의 길이가 5이고
src의 길이가 4이면
size의 길이가 4이면 dst 길이보다 작으므로 src 데이터가 들어가지 않는다.
src 데이터를 넣으려면 size를 5+1(dst길이 + NULL) 이상의 값으로 넣어야 한다.
만약 size를 8로 주면
dst에는 src의 2바이트만 들어가게 된다.
반환 값
이 값은 dst와 복사된 src의 길이의 총합이다.
여기에는 NULL 값은 제외되어 계산된다.
만약 dst 길이가 5이고 src에서 2바이트만 복사했다면
반환 값은 7이 된다.
반응형
'프로그래밍 > C 언어' 카테고리의 다른 글
strrchr 함수 (0) | 2020.02.25 |
---|---|
strchr 함수 (0) | 2020.02.25 |
strlcpy 함수 (1) | 2020.02.25 |
bzero 함수 (0) | 2020.02.25 |
isprint 함수 (0) | 2020.02.25 |