
strrchr 함수는 주어진 문자열에서 마지막으로 나타나는 특정 문자의 위치를 반환합니다. 하지만 이 함수는 NULL 포인터를 반환할 수 있습니다. 이는 주어진 문자열이 NULL 인 경우입니다.
NULL 포인터를 반환하는 오류를 해결하기 위한 방법은 다음과 같습니다.
1. 주어진 문자열이 NULL 인지 확인하여 NULL 인 경우를 처리합니다. 예를 들어, 다음 코드를 사용할 수 있습니다.
#hostingforum.kr
c
char* ptr = strrchr(str, ch);
if (ptr == NULL) {
printf("NULL 포인터 반환");
} else {
printf("문자열의 마지막 인덱스 위치 : %p", (void*)ptr);
}
2. 주어진 문자열이 NULL 인 경우 NULL 포인터를 반환하는 대신, 특정 문자가 문자열에 존재하지 않는 경우 NULL 포인터를 반환하도록 수정할 수 있습니다. 예를 들어, 다음 코드를 사용할 수 있습니다.
#hostingforum.kr
c
char* ptr = strrchr(str, ch);
if (ptr == NULL && str != NULL) {
printf("특정 문자가 문자열에 존재하지 않습니다.");
} else {
printf("문자열의 마지막 인덱스 위치 : %p", (void*)ptr);
}
3. 주어진 문자열이 NULL 인 경우 NULL 포인터를 반환하는 대신, 특정 문자가 문자열에 존재하지 않는 경우 NULL 포인터를 반환하도록 수정할 수 있습니다. 예를 들어, 다음 코드를 사용할 수 있습니다.
#hostingforum.kr
c
char* ptr = strrchr(str, ch);
if (ptr == NULL) {
printf("NULL 포인터 반환");
} else {
printf("문자열의 마지막 인덱스 위치 : %p", (void*)ptr);
}
이러한 방법들 중 하나를 사용하여 NULL 포인터를 반환하는 오류를 해결할 수 있습니다.
2025-08-01 10:58