ft_strmapi - chanhl22/libft GitHub Wiki
1 /* ************************************************************************** */
2 /* */
3 /* ::: :::::::: */
4 /* ft_strmapi.c :+: :+: :+: */
5 /* +:+ +:+ +:+ */
6 /* By: chanhlee <[email protected].> +#+ +:+ +#+ */
7 /* +#+#+#+#+#+ +#+ */
8 /* Created: 2021/01/26 11:53:28 by chanhlee #+# #+# */
9 /* Updated: 2021/01/28 11:26:58 by chanhlee ### ########.fr */
10 /* */
11 /* ************************************************************************** */
12
13 #include "libft.h"
14
15 char *ft_strmapi(char const *s, char (*f)(unsigned int, char))
16 {
17 char *str; //동적할당 받을 변수
18 int len; //길이
19 int i; //인덱스
20
21 if (!s)
22 return (NULL);
23 len = ft_strlen(s); //길이 넣어줌
24 if (!(str = (char*)malloc(sizeof(char)*(len + 1)))) //새 변수에 동적할당 , 실패하면 리턴NULL
25 return (NULL);
26 i = 0;
27 while (s[i] != '\0') //문자를 끝까지 훑음
28 {
29 str[i] = f(i, s[i]); //함수를 적용시켜줌
30 i++;
31 }
32 str[i] = '\0'; //마지막에 NULL
33 return (str);
34 }