1.ft_striteri란?
문자열 s를 순회하면서 문자열의 각 요소에 함수f를 적용하는 함수이다.
ft_strmapi와 다른점은 ft_strmapi는 새로운 문자열을 만들지만 ft_striteri는 문자열을 바로 수정한다.
2. 함수 프로토타입
void ft_striteri(char *s, void (*f)(unsigned int, char *))
3. 함수구현
#include "libft.h"
void ft_striteri(char *s, void (*f)(unsigned int, char *))
{
unsigned int i;
i = 0;
while (s[i])
{
f(i, &s[i]);
i++;
}
}
사용예시
char f(unsigned int i, char c)
{
if (i % 2 == 1 && c >= 'a' && c <= 'z')
return (c - ('a' - 'A'));
return (c);
}
int main(void)
{
char str[] = "hello42";
ft_striteri(str, f);
printf("Original: %s\n", s);
printf("Modified string: %s\n", str);
return (0);
}