프로그래밍/C
strchr, strrchr
eteo
2023. 12. 22. 22:16
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;
}