[42seoul] strlcat은 어떤 함수일까??

개발하는 곰댕이·2021년 4월 9일
0

42Seoul

목록 보기
23/45
  • inlcude

#include <string.h>
size_t strlcat(char *dest, const char *src, size_t size);
  • 인수

    • dest
      src앞에 있는 문자열이다.
    • src
      dest뒤에 붙을 문자열이다.
    • size
      우리가 원하는 문자열의 길이이다.

1. strlcat이란??

두 문자열을 붙이는 함수이다. dest의 맨 뒤에 srcsize만큼만 붙인다. 만약 size가 dest의 길이 이하라면 문자열을 붙이는 과정이 사라지고 size가 더 크다면 size - 1만큼 src를 붙이고 마지막에 '\0'값을 넣어주고 리턴 값은 dest의 길이 + src의 길이이다.

2. 사용예제

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

만약 size가 src + dest 이하라면 어떻게 될까??

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

그렇다면 dest보다 작으면 어떻게 될까?

이런 식으로 문자열을 붙이지 않고 그대로남겨두게 된다.

3. 리턴값

리턴값은 dest + src이다.

0개의 댓글