본문 바로가기
프로그래밍/C

strchr, strrchr

by eteo 2023. 12. 22.

 

 

 

strchr 및 strrchr 함수는 C 표준 라이브러리 함수로 문자열에서 특정 문자를 찾는 데 사용되는 함수들이다. strchr 문자열 앞에서 부터 찾고 strrchr 는 뒤에서 부터 찾는다는 차이가 있다.

 

 

 

strchr

 

#include <string.h>

char *strchr(const char *str, int c);

 

문자열에서 특정 문자 c를 찾아 첫 번째로 등장하는 위치를 반환한다다. 만약 문자 c가 문자열에 없으면 NULL을 반환한다.

 

 

 

 

사용 예시.

#include <stdio.h>
#include <string.h>

int main() {
    const char *str = "Hello, World!";
    char target = ' ';

    // 문자열에서 ' '공백문자를 찾기
    char *result = strchr(str, target);

    if (result != NULL) {
        printf("'%c' found at position: %ld\n", target, result - str);
        printf("substring from the found position: \"%s\"\n", result);
    } else {
        printf("'%c' not found in the string.\n", target);
    }

    return 0;
}

 

 

 

 

 

 

 

 

strrchr

 

#include <string.h>

char *strrchr(const char *str, int c);

 

 

문자열에서 특정 문자 c를 찾아 마지막으로 등장하는 위치를 반환한다. 만약 문자 c가 문자열에 없으면 NULL을 반환한다.

 

 

 

사용 예시.

 

#include <stdio.h>
#include <string.h>

int main() {
    
    const char *path = "C:\\Users\\username\\Documents\\file.txt";
    char buf[100];
    strcpy(buf, path);
    char target = '\\';

    // 문자열에서 마지막 '\\'를 찾기
    char *result = strrchr(buf, target);

    if (result != NULL) {
        *(result + 1) = '\0';
        printf("file.txt가 들어있는 디렉토리 경로 : %s\n", buf);
    } else {
        printf("'%c' not found in the path.\n", target);
    }

    return 0;
}