개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.20 01:21

strstr 함수 사용 중 오류 발생

목록
  • W3C마스터 4일 전 2025.04.20 01:21
  • 4
    1
老师, 저는 C언어의 strstr 함수를 사용하여 문자열 내에서 특정 문자열을 찾으려고 하는데, 다음과 같은 오류가 발생합니다.

c

#include 

#include 



int main() {

    char str[100] = "Hello, World!";

    char target[10] = "World";



    char* result = strstr(str, target);



    if (result != NULL) {

        printf("찾은 문자열: %sn", result);

    } else {

        printf("찾을 문자열이 없습니다.n");

    }



    return 0;

}



위 코드는 다음과 같은 오류를 발생시키는데, 저는 이를 해결하려합니다.

오류 메시지는 "Segmentation fault"로, 프로그램이 비정상적으로 종료됩니다.

저는 이 오류를 해결할 수 있는 방법을 알고 싶습니다.

    댓글목록

    profile_image
    나우호스팅  4일 전



    스트링 함수의 사용 중 오류가 발생한 경우, 주로 두 가지 원인이 있습니다. 첫 번째는 함수의 인자에 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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 13,831건 / 55 페이지

검색

게시물 검색