본문 바로가기
C/C Library

strrchr

by memora 2024. 7. 3.

Index로 돌아가기

 

【기  능】 문자열의 뒤쪽에서 부터 문자를 검색하는 기능

【소  속】 string.h     
           #include <string.h>    

【서  식】 char *strrchr(const char *tar, int c);    

【설  명】 tar문자열의 뒤쪽에서 부터 c문자를 검색하여  문자 c가 마지막으로 발견된
           위치를 포인터로 돌려준다. 발견되지 않았을 경우엔 공백문자를 돌려준다.
           공백문자도 검색대상이 되므로 strrchr(tar, 0);도 가능하다.

【인  수】      
           tar : 검색대상 문자열의 선두 어드레스
           c : 검색하는 문자

【리턴 값】
           발견된 경우 : 일치하는 문자자의 어드레스
           발견되지 않았을 경우 : 공백문자(NULL)

【사용 예】 
#include <stdio.h> 
#include <string.h> 
#include <stdint.h> 

int main()
{
    uint8_t tar[] = "ABCDEFG1234abcdefg1234";
    uint8_t c1 = '1';
    uint8_t c2 = 'B';
    uint8_t c3 = 'X';
    uint8_t *pRetn;

    pRetn = strrchr(tar, c1);
    if(pRetn != NULL){
          printf("문자 %c의 위치 = %d번째\n", c1, (pRetn - tar) + 1);
    }
    else{
          printf("문자 %c가 발견되지 않았습니다\n", c1);
    }

    pRetn = strrchr(tar, c2);
    if(pRetn != NULL){
          printf("문자 %c의 위치 = %d번째\n", c2, (pRetn - tar) + 1);
    }
     else{
          printf("문자 %c가 발견되지 않았습니다\n", c2);
    }

    pRetn = strrchr(tar, c3);
    if(pRetn != NULL){
          printf("문자 %c의 위치 = %d번째\n", c2, (pRetn - tar) + 1);
     }
     else{
          printf("문자 %c가 발견되지 않았습니다\n", c3);
     }
     return 0;
}

【결   과】 
문자 1의 위치 = 19번째
문자 B의 위치 = 2번째
문자 X가 발견되지 않았습니다

 

Index로 돌아가기

반응형

'C > C Library' 카테고리의 다른 글

strpbrk  (0) 2024.07.06
strerror  (2) 2024.07.04
strncmp  (1) 2024.06.25
strcat  (0) 2024.06.22
strlen  (2) 2024.06.19