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;
}
'프로그래밍 > C' 카테고리의 다른 글
윈도우 소켓 ] blocking / non-blocking 소켓 사용 시 소켓함수의 리턴 조건 (0) | 2023.12.24 |
---|---|
IcmpSendEcho (0) | 2023.12.23 |
strpbrk (0) | 2023.12.21 |
strcspn (0) | 2023.12.20 |
C/C++ ] ANSI 이스케이프 코드 시퀀스 사용해서 커서 이동 + 터미널 조작하기 (0) | 2023.12.11 |