
스트링 함수의 사용 중 오류가 발생한 경우, 주로 두 가지 원인이 있습니다. 첫 번째는 함수의 인자에 NULL 값을 전달했을 때, 두 번째는 함수의 인자로 전달된 문자열의 크기가 함수의 매개변수에 지정된 크기보다 큰 경우입니다.
위 코드에서 오류가 발생한 이유는 strstr 함수의 두 번째 인자인 target 문자열의 크기가 10이지만, strstr 함수의 매개변수에 지정된 크기는 10보다 작기 때문입니다. 따라서 target 문자열의 크기를 10 이상으로 설정하거나, strstr 함수를 사용할 때 target 문자열의 크기를 지정하는 매개변수를 사용하여 해결할 수 있습니다.
또한, strstr 함수는 문자열 내에서 특정 문자열을 찾을 때, 찾은 문자열의 시작 위치를 반환합니다. 따라서 찾은 문자열의 시작 위치가 NULL이 아닌 경우, printf 함수를 사용하여 찾은 문자열을 출력할 수 있습니다.
스트링 함수의 사용 중 오류를 해결하기 위한 방법은 다음과 같습니다.
1. 함수의 인자에 NULL 값을 전달하지 않도록 하세요.
2. 함수의 인자로 전달된 문자열의 크기를 함수의 매개변수에 지정된 크기보다 크지 않도록 하세요.
3. strstr 함수를 사용할 때 target 문자열의 크기를 지정하는 매개변수를 사용하세요.
위 코드를 수정하여 오류를 해결한 예제는 다음과 같습니다.
#hostingforum.kr
c
#include
#include
int main() {
char str[100] = "Hello, World!";
char target[20] = "World";
char* result = strstr(str, target);
if (result != NULL) {
printf("찾은 문자열: %sn", result);
} else {
printf("찾을 문자열이 없습니다.n");
}
return 0;
}
위 코드를 실행하면, "찾은 문자열: World"이 출력됩니다.
2025-04-20 01:22