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 |