/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ft_strmapi.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 10:29:32 by cacharle #+# #+# */ /* Updated: 2019/10/07 13:22:15 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ #include #include "libft.h" char *ft_strmapi(char *s, char (*f)(unsigned int, char)) { size_t i; size_t len; char *mapped; if (s == NULL || f == NULL) return (NULL); len = ft_strlen(s); if ((mapped = (char*)malloc(sizeof(char) * (len + 1))) == NULL) return (NULL); i = 0; while (i < len) { mapped[i] = (*f)((unsigned int)i, s[i]); i++; } mapped[i] = '\0'; return (mapped); }