ft_strmap.c 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. /* ************************************************************************** */
  2. /* */
  3. /* ::: :::::::: */
  4. /* ft_strmap.c :+: :+: :+: */
  5. /* +:+ +:+ +:+ */
  6. /* By: bchanot <bchanot@students.42.fr> +#+ +:+ +#+ */
  7. /* +#+#+#+#+#+ +#+ */
  8. /* Created: 2015/11/25 19:07:42 by bchanot #+# #+# */
  9. /* Updated: 2015/12/07 19:43:14 by bchanot ### ########.fr */
  10. /* */
  11. /* ************************************************************************** */
  12. #include "libft.h"
  13. char *ft_strmap(char const *s, char (*f)(char))
  14. {
  15. char *dst;
  16. char *src;
  17. size_t cpt;
  18. src = (char*)s;
  19. if (src && f)
  20. {
  21. dst = ft_strnew(ft_strlen(s));
  22. if (!dst)
  23. return (NULL);
  24. cpt = 0;
  25. while (src[cpt])
  26. {
  27. dst[cpt] = (*f)(src[cpt]);
  28. cpt++;
  29. }
  30. return (dst);
  31. }
  32. return (NULL);
  33. }