반응형
strrchr(3)
#include <string.h>
char *strrchr(const char *s, int c);
strchr(3)은 문자열 s의 끝에서부터 문자열의 앞쪽으로 문자 c를 처음 만난 곳의 문자열 pointer를 return합니다.
만약, 문자열 s에 문자 c가 포함되어 있지않는다면 NULL을 return 합니다.
문자 c는 int type이지만 하위 1바이트만 유효합니다.
파라미터
s
- 문자 c가 포함되었는 지를 찾을 문자열
c
- 찾으려는 문자
- c는 int type이지만 (unsigned char)c 로 type casting한 것과 같이 하위 1바이트만 유효합니다.
RETURN
NULL 아님
- 문자열 s의 뒤에서 부터 문자 c를 검색할 때에 처음으로 만난 곳의 pointer를 return 합니다.
NULL
- 문자열 s에 문자 c가 포함되어 있지 않습니다.
활용 예제
Sample - 파일의 확장자를 얻는 예제
#include <stdio.h>
#include <string.h>
char *get_file_ext(char *ext, int ext_size, const char *file_name)
{
char *ptr;
if((ptr = strrchr(file_name, '.')) == NULL) {
*ext = 0x00;
} else {
ptr ++;
strncpy(ext, ptr, ext_size);
}
return ext;
}
int main(int argc, char **argv)
{
char filename[128] = "sample.txt";
char file_ext[10];
get_file_ext(file_ext, sizeof(file_ext), filename);
printf("filename: %s\n", filename);
printf("file_ext: %s\n", file_ext);
return 0;
}
결과:
filename: sample.txt
file_ext: txt
반응형
'C언어 header > string.h' 카테고리의 다른 글
strcasestr(3) - 대소문자 구분없이 문자열에서 문자열 찾기(비표준) (0) | 2019.09.25 |
---|---|
strstr(3) - 문자열에서 문자열 찾기 (0) | 2019.09.25 |
strchr(3) - 문자열에서 문자 검색 (0) | 2019.09.25 |
strndup(3) - n바이트 문자열을 새로운 메모리 할당후 복제 (0) | 2019.09.25 |
strdup(3) - 문자열을 새로운 메모리 할당후 복제 (0) | 2019.09.25 |