diff options
Diffstat (limited to 'ft_strmap.c')
| -rw-r--r-- | ft_strmap.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/ft_strmap.c b/ft_strmap.c new file mode 100644 index 0000000..7fc3051 --- /dev/null +++ b/ft_strmap.c @@ -0,0 +1,21 @@ +#include <stdlib.h> +#include "libft.h" + +char *ft_strmap(char const *s, char (*f)(char)) +{ + size_t i; + size_t len; + char *mapped; + + len = ft_strlen(s); + if ((mapped = (char*)malloc(sizeof(char) * (len + 1))) == NULL) + return (NULL); + i = 0; + while (i < len) + { + mapped[i] = (*f)(s[i]); + i++; + } + mapped[i] = '\0'; + return (mapped); +} |
