inlcude
#include <string.h> size_t strlcat(char *dest, const char *src, size_t size);
인수
- dest
src앞에 있는 문자열이다.- src
dest뒤에 붙을 문자열이다.- size
우리가 원하는 문자열의 길이이다.
두 문자열을 붙이는 함수이다. dest의 맨 뒤에 src를 size만큼만 붙인다. 만약 size가 dest의 길이 이하라면 문자열을 붙이는 과정이 사라지고 size가 더 크다면 size - 1만큼 src를 붙이고 마지막에 '\0'값을 넣어주고 리턴 값은 dest의 길이 + src의 길이이다.


이런 식으로 size에 넉넉하게 20을 주면 dest에 src를 모두 붙이게 되고 리턴은 dest의 길이 + src의 길이인 9가 리턴의 된다.
만약 size가 src + dest 이하라면 어떻게 될까??


이런 식으로 size를 7로 넣어주면 dest의 길이를 제외하고 남은 길이를 붙이게 되는데 '\0'값도 제외를 해 주어야 하니 "456" 3개만 붙이게 된다. 리턴값은 여전히 dest + src이다.
그렇다면 dest보다 작으면 어떻게 될까?


이런 식으로 문자열을 붙이지 않고 그대로남겨두게 된다.
리턴값은 dest + src이다.