diff options
Diffstat (limited to 'libft/src/ft_strmapi.c')
-rw-r--r-- | libft/src/ft_strmapi.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/libft/src/ft_strmapi.c b/libft/src/ft_strmapi.c new file mode 100644 index 0000000..7a38ca9 --- /dev/null +++ b/libft/src/ft_strmapi.c @@ -0,0 +1,34 @@ +/* ************************************************************************** */ +/* LE - / */ +/* / */ +/* ft_strmapi.c .:: .:/ . .:: */ +/* +:+:+ +: +: +:+:+ */ +/* By: rbousset <marvin@le-101.fr> +:+ +: +: +:+ */ +/* #+# #+ #+ #+# */ +/* Created: 2019/10/13 05:57:35 by rbousset #+# ## ## #+# */ +/* Updated: 2019/10/13 08:35:12 by rbousset ### #+. /#+ ###.fr */ +/* / */ +/* / */ +/* ************************************************************************** */ + +#include "libft.h" + +char + *ft_strmapi(const char *s, char (*f)(unsigned int, char)) +{ + unsigned int i; + char *nstr; + + if (!s) + return (NULL); + i = 0; + nstr = (char *)ft_calloc(ft_strlen(s) + 1, sizeof(char)); + if (!nstr) + return (NULL); + while (s[i]) + { + nstr[i] = (*f)(i, s[i]); + i++; + } + return (nstr); +} |