ft_strlcat

jen133·2022년 1월 15일
0

libft

목록 보기
20/44

💻 ft_strlcat

dst뒤에 src를 이어붙여주는 함수, 단 이어붙인 문자열의 크기가 size보다 작아야함.

📃 ft_strlcat 원형

size_t	ft_strlcat(char *dst, const char *src, size_t size)

🔩 parameters

*dst : src가 이어붙을 문자열
*src : dst에 이어붙일 분자열
size : 완성된 문자열 + '\0' 만큼이 허용되는 크기

📬 return

size_t형 반환

  • dst의 길이가 이미 size보다 큰 상황이라면 size + src의 길이를 반환
  • 이어붙이기가 완료되었다면 src의 길이, dst의 길이의 합을 리턴

🧨 주의사항

size는 '\0'을 포함한 크기임

⌨ 코드


#include "libft.h"

size_t	ft_strlcat(char *dst, const char *src, size_t size)
{
	size_t	left;
	size_t	dstlen;
	size_t	srclen;

	left = size;
	dstlen = ft_strlen(dst);
	srclen = ft_strlen(src);
	if (size <= ft_strlen(dst))
		return (size + srclen);
	while (*dst != '\0' && left != 0)
	{
		dst++;
		left--;
	}
	while (left != 1 && *src != '\0')
	{
		*dst = *src;
		dst++;
		src++;
		left--;
	}
	*dst = '\0';
	return (srclen + dstlen);
}

profile
늅늅

0개의 댓글