ft_strmapi.c
1 /* ************************************************************************** */ 2 /* */ 3 /* ::: :::::::: */ 4 /* ft_strmapi.c :+: :+: :+: */ 5 /* +:+ +:+ +:+ */ 6 /* By: gychoi <marvin@42.fr> +#+ +:+ +#+ */ 7 /* +#+#+#+#+#+ +#+ */ 8 /* Created: 2022/07/11 18:02:06 by gychoi #+# #+# */ 9 /* Updated: 2022/07/12 15:12:48 by gychoi ### ########.fr */ 10 /* */ 11 /* ************************************************************************** */ 12 13 #include "libft.h" 14 15 char *ft_strmapi(char const *s, char (*f)(unsigned int, char)) 16 { 17 char *string; 18 size_t i; 19 20 if (!s || !f) 21 return (NULL); 22 string = ft_strdup(s); 23 if (!string) 24 return (NULL); 25 i = 0; 26 while (s[i] != '\0') 27 { 28 string[i] = f(i, s[i]); 29 i++; 30 } 31 string[i] = '\0'; 32 return (string); 33 }