ft_striteri

jaehlee·2025년 4월 27일

Libft

목록 보기
16/26

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);   // hello42
	printf("Modified string: %s\n", str); // hElLo42
	return (0);
}
profile
공부하는 개발자

0개의 댓글