strdup

유제민·2025년 4월 10일

42경산

목록 보기
8/17

strdup 뭐예여

문자열을 복사하여 새로운 메모리를 할당해주는 함수
사용 예시
원본을 건드리지 않고 복사본을 만들고 싶을 때
문자열을 안전하게 보존하고 싶을 때
임시 문자열을 수정하거나 free 해야 할 때
strdup는 malloc +strcpy를 한번에 해주는 함수라고 생각하면 된다.

함수 원형: char strdup(const char s)
const char *s: 복사할 원본 문자열

ft_strdup 구현

#include "libft.h"

char	*ft_strdup(const char *s)
{
	char		*dest;
	size_t		i;

	i = 0;
	dest = (char *)malloc(ft_strlen(s) + 1); //원본문자열의 길이 + 1(마지막에 NULL)만큼 문자열 열어주기
	if (!dest)
		return (NULL);
	while (s[i])
	{
		dest[i] = s[i]; //문자열 복사하기
		++i;
	}
	dest[i] = '\0'; //문자열 마지막에 NULL 넣어주기.
	return (dest);
}
profile
무진장 게으른

0개의 댓글