ft_strmapi.c 1.2 KB

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