strdup 뭐예여
문자열을 복사하여 새로운 메모리를 할당해주는 함수
사용 예시
원본을 건드리지 않고 복사본을 만들고 싶을 때
문자열을 안전하게 보존하고 싶을 때
임시 문자열을 수정하거나 free 해야 할 때
strdup는 malloc +strcpy를 한번에 해주는 함수라고 생각하면 된다.함수 원형: char strdup(const char s)
const char *s: 복사할 원본 문자열
#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);
}