/ libft / ft_strmapi.c
ft_strmapi.c
 1  /* ************************************************************************** */
 2  /*                                                                            */
 3  /*                                                        :::      ::::::::   */
 4  /*   ft_strmapi.c                                       :+:      :+:    :+:   */
 5  /*                                                    +:+ +:+         +:+     */
 6  /*   By: gychoi <marvin@42.fr>                      +#+  +:+       +#+        */
 7  /*                                                +#+#+#+#+#+   +#+           */
 8  /*   Created: 2022/07/11 18:02:06 by gychoi            #+#    #+#             */
 9  /*   Updated: 2022/07/12 15:12:48 by gychoi           ###   ########.fr       */
10  /*                                                                            */
11  /* ************************************************************************** */
12  
13  #include "libft.h"
14  
15  char	*ft_strmapi(char const *s, char (*f)(unsigned int, char))
16  {
17  	char	*string;
18  	size_t	i;
19  
20  	if (!s || !f)
21  		return (NULL);
22  	string = ft_strdup(s);
23  	if (!string)
24  		return (NULL);
25  	i = 0;
26  	while (s[i] != '\0')
27  	{
28  		string[i] = f(i, s[i]);
29  		i++;
30  	}
31  	string[i] = '\0';
32  	return (string);
33  }