【기 능】 문자열의 뒤쪽에서 부터 문자를 검색하는 기능
【소 속】 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가 발견되지 않았습니다