Dia Egg - Shugo Chara

C

strrchr 함수의 구현

별ㅇI 2023. 10. 16. 21:15
728x90
반응형

strrchr 함수

  • string.h 라는 헤더파일에 속한 함수
  • 원형은  char *strrchr(const char *s, int c)을 따른다. 
  • strchr함수가 c의 첫번째 발생을 찾는다면 strrchr함수는 c의 마지막 발생을 찾는 함수이다. 
  • 찾은 문자에 대한 주소를 반환하거나 문자열에 해당 문자가 없다면 null을 반환한다. 

strrchr 함수의 구현

char	*ft_strrchr(const char *s, int c)
{
	int		i;
	char	*tmp;
	char	*result;

	i = 0;
	tmp = (char *)s;
	result = 0;
    c = c % 256;
	while (tmp[i] != '\0')
	{
		if (tmp[i] == c)
			result = &tmp[i];
		i++;
	}
	if (c == '\0')
		result = &tmp[i];
	return (result);
}
// #include <string.h>
// #include <stdio.h>
// int	main(void)
// {
// 	char	*str1 = "starComputer00";
// 	char	c1 = 'r';//있는거
// 	printf("test1 : strchr_lct :%p" , strrchr(str1, c1));
// 	printf("\ntest1 : strchr :%s" , (strrchr(str1, c1)));	
// 	printf("\ntest1 : ft_strchr_lct :%p" , ft_strrchr(str1, c1));
// 	printf("\ntest1 : ft_strchr :%s" , (ft_strrchr(str1, c1 )));
// 	printf("\n");
// 	char	c2 = '\0';//'\0'
// 	printf("\ntest2 : strchr_lct :%p" , strrchr(str1, c2));
// 	printf("\ntest2 : strchr :%c" , *(strrchr(str1, c2)));	
// 	printf("\ntest2 : ft_strchr_lct :%p" , ft_strrchr(str1, c2));
// 	printf("\ntest2 : ft_strchr :%c" , *(ft_strrchr(str1, c2)));
// 	printf("\n");
// 	char	c3 = 'S';//없는거
// 	printf("\ntest3 : strchr_lct :%p" , strrchr(str1, c3));
// 	printf("\ntest3 : strchr :%c" , *(strrchr(str1, c3)));	
// 	printf("\ntest3 : ft_strchr_lct :%p" , ft_strrchr(str1, c3));
// 	printf("\ntest3 : ft_strchr :%c" , *(ft_strrchr(str1, c3)));
// }
728x90
반응형

'C' 카테고리의 다른 글

memchr 함수의 구현 (mem함수와 str함수의 차이)  (0) 2023.10.16
strncmp 함수의 구현  (2) 2023.10.16
strchr 함수의 구현  (2) 2023.10.16
tolower 함수의 구현  (2) 2023.10.16
toupper 함수의 구현  (0) 2023.10.16