개요
- 함수 포인터를 이용해서 함수 f를 끌어옴
- f에 문자 포인터 s를 넣은 결과를 새로운 포인터 s2에 삽입
- s2 마지막에 널 값 삽입
코드
c
#include "libft.h"
char *ft_strmapi(char const *s, char (*f)(unsigned int, char))
{
int i;
int size;
char *s2;
i = 0;
size = ft_strlen(s);
s2 = (char *)malloc((size + 1) * sizeof(char));
if (!s || !f || !s2)
return (0);
while (i < size)
{
s2[i] = f(i, s[i]);
i++;
}
s2[i] = '\0';
return (s2);
}