[C언어 소스] strrchr 함수 사용 예제 (문자열에서 특정 문자가 있는 위치를 뒤에서부터 찾는 함수)
//C언어 표준 라이브러리 함수 사용법 가이드
//const char * strrchr ( const char * str, int ch ); 문자열에 특정 문자가 있는 위치를 뒤에서부터 찾는 함수
//문자열에서 특정 문자가 있는 위치를 뒤에서부터 찾아 출력
#include <string.h>
#include <stdio.h>
const char *ehstrrchr(const char *str, int ch)
{
int i;
int len = strlen(str);//문자열 길이 계산
for (i = len - 1; i >= 0; i--)//문자열의 뒤쪽에서 앞쪽으로 이동하면서 반복
{
if (str[i] == ch)//같은 문자를 찾았을 때(i>=0)
{
break;//반복문 탈출
}
}
if (i>=0)//찾았을 때
{
return str+i;//찾은 위치 반환
}
return NULL;
}
int main (void)
{
char str[100] = "12345abcde54321";
const char *cp;
//strrchr 함수 이용
printf("%s 뒤에서부터 %c을(를) 처음 발견한 위치\n",str,'5');
cp = strrchr(str,'5');
if(cp)
{
printf("%d번째 %s\n", cp - str + 1, cp);
}
else
{
printf("없음\n");
}
//ehstrrchr 함수 이용
printf("%s 뒤에서부터 %c을(를) 처음 발견한 위치\n", str, '3');
cp = ehstrrchr(str, '3');
if (cp)
{
printf("%d번째 %s\n", cp - str + 1,cp);
}
else
{
printf("없음\n");
}
return 0;
}
출력
12345abcde54321 뒤에서부터 5(을)를 처음 발견한 위치
11번째 54321
12345abcde54321 뒤에서부터 3(을)를 처음 발견한 위치
13번째 321
'C언어 > C언어 예제' 카테고리의 다른 글
[C언어 소스] strtok 함수 사용 예제 (대상 문자열에서 delimeters를 기준으로 분할하는 함수) (0) | 2016.05.04 |
---|---|
[C언어 소스] strstr 함수 사용 예제 (문자열에서 부분 문자열의 위치를 찾는 함수) (0) | 2016.05.04 |
[C언어 소스] strchr 함수 사용 예제 (문자열에서 특정 문자가 있는 위치 찾기) (0) | 2016.05.04 |
[C언어 소스] strncat_s 함수 사용 예제 (부분 문자열 합치기, 버퍼 오버플로우 방지) (0) | 2016.05.04 |
[C언어 소스] strncat 함수 사용 예제 (부분 문자열을 합하는 함수) (0) | 2016.05.04 |