diff options
| author | Charles <sircharlesaze@gmail.com> | 2019-07-29 16:56:27 +0200 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2019-07-29 16:56:27 +0200 |
| commit | 9a2b208985ac7d4644c718ada74770b98eeb4598 (patch) | |
| tree | f190f9dc0bc1228a28c5901842d2f30738a865f8 /ft_strmapi.c | |
| parent | 009780065032aa23c6d72dd7ab02adb481a7c76d (diff) | |
| download | libft-9a2b208985ac7d4644c718ada74770b98eeb4598.tar.gz libft-9a2b208985ac7d4644c718ada74770b98eeb4598.tar.bz2 libft-9a2b208985ac7d4644c718ada74770b98eeb4598.zip | |
part 2 done (except putchar and putstr unicode)
Diffstat (limited to 'ft_strmapi.c')
| -rw-r--r-- | ft_strmapi.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/ft_strmapi.c b/ft_strmapi.c new file mode 100644 index 0000000..da75c98 --- /dev/null +++ b/ft_strmapi.c @@ -0,0 +1,21 @@ +#include <stdlib.h> +#include "libft.h" + +char *ft_strmapi(char const *s, char (*f)(unsigned int, 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)((unsigned int)i, s[i]); + i++; + } + mapped[i] = '\0'; + return (mapped); +} |
