문자열 s의 각 요소에 함수 f를 적용시킨 결과를 새로운 저장공간을 할당하고 저장시켜 반환하는 함수
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);
}