ft_strmapi

J_JEON·2022년 1월 16일
0

libft

목록 보기
29/44

💻 ft_strmapi

문자열 s의 각 요소에 함수 f를 적용시킨 결과를 새로운 저장공간을 할당하고 저장시켜 반환하는 함수

📃 ft_strmapi 원형

char	*ft_strmapi(char const *s, char (*f)(unsigned int, char))

🔩 parameters

*s : *f함수를 적용시킬 문자열
*f : 문자열 s에 적용시킬 함수

📬 return

char *형 반환

  • 문자열 s의 각 요소에 함수 f를 적용시킨 결과를 새로운 저장공간을 할당하고 저장시켜 반환

🧨 주의사항

  • *f에는 ft_strmapi에서 사용할 수 있는 함수가 들어옴
  • malloc 할당 실패시 NULL가드 필요
  • f함수에는 문자열 s 현재 요소의 인덱스값, 그리고 문자열 s의 현재 요소가 들어감

⌨ 코드


#include "libft.h"

char	*ft_strmapi(char const *s, char (*f)(unsigned int, char))
{
	char	*str;
	int		i;

	i = 0;
	str = (char *)malloc(sizeof(char) * (ft_strlen(s) + 1));
	if (str == 0)
		return (NULL);
	while (s[i])
	{
		str[i] = f(i, s[i]);
		i++;
	}
	str[i] = '\0';
	return (str);
}

profile
늅늅

0개의 댓글