열렬히.뛰기

ft_strmapi

école 42 > libft > ft_strmapi

개요

  • 함수 포인터를 이용해서 함수 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);
}