728x90
반응형
strdup 함수
- string.h 헤더파일에 속한 함수
- 원형은 char *strdup(const char *s1)을 따른다.
- 주어진 s1의 크기만큼 동적 할당을 한 뒤 s1을 그 위치에 복사 해주는 함수 (마지막 널문자도 고려해줘야하므로 +1 만큼 더 할당해 넘겨줄것)
- 리턴 값은 새로운 문자열의 주소이다.
strdup 함수의 구현
#include "libft.h"
char *ft_strdup(const char *s1)
{
char *tmp;
tmp = malloc(ft_strlen(s1) + 1);
if (tmp == NULL)
return (0);
ft_strlcpy(tmp, s1, ft_strlen(s1) + 1);
return (tmp);
}
// #include <string.h>
// #include <stdio.h>
// int main(void)
// {
// printf("strdup : %s", strdup("dog is cute"));
// printf("\nft_strdup: %s", ft_strdup("dog is cute"));
// }
728x90
반응형
'C' 카테고리의 다른 글
.과 -> 의 차이 (0) | 2023.10.24 |
---|---|
파일 입출력 (0) | 2023.10.23 |
calloc 함수 구현 (0) | 2023.10.21 |
strnstr 함수의 구현 (0) | 2023.10.17 |
memcmp 함수의 구현 (2) | 2023.10.17 |