Dia Egg - Shugo Chara

C

strdup 함수의 구현

별ㅇI 2023. 10. 21. 17:34
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