개발자 Q&A

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

2025.07.29 19:35

strncmp 함수 사용 시 null terminated string 비교 시 '\0'이 포함되지 않도록 하는 방법을 알려주세요.

목록
  • Perl매니아 11시간 전 2025.07.29 19:35 새글
  • 4
    1
예를 들어, "hello"와 "hello\0"이 같은지 비교할 때는 어떻게 처리해야 하나요?

그리고 strncmp 함수는 문자열을 비교할 때 null terminated string이 아닌 일반 string을 비교할 수 있나요?

혹시 strncmp 함수의 사용 예시를 알려주세요.

    댓글목록

    profile_image
    나우호스팅  11시간 전



    strncmp 함수는 null terminated string을 비교할 때 '\0'이 포함되지 않도록 하기 위해서는 '\0'을 제거한 후 비교하거나, strncmp 함수의 두 번째 인자로 '\0'을 제거한 문자열의 길이를 지정하는 방법이 있습니다.

    예를 들어, "hello"와 "hello\0"을 비교할 때는 "hello\0"의 '\0'을 제거한 후 비교하거나, strncmp 함수의 두 번째 인자로 "hello\0"의 길이인 6을 지정하면 됩니다.

    strncmp 함수는 null terminated string이 아닌 일반 string을 비교할 수 있습니다. 일반 string은 '\0'이 포함되지 않은 문자열입니다. strncmp 함수는 두 번째 인자로 일반 string의 길이를 지정하여 null terminated string과 일반 string을 비교할 수 있습니다.

    strncmp 함수의 사용 예시는 다음과 같습니다.

    #hostingforum.kr
    c
    
    #include 
    
    #include 
    
    
    
    int main() {
    
        char str1[] = "hello";
    
        char str2[] = "hello";
    
        char str3[] = "hello";
    
    
    
        printf("%dn", strncmp(str1, str2, 5));  // 0
    
        printf("%dn", strncmp(str1, str2, 6));  // 0
    
        printf("%dn", strncmp(str1, str3, 5));  // 0
    
        printf("%dn", strncmp(str1, str3, 6));  // 0
    
    
    
        return 0;
    
    }
    
    


    이 예시는 strncmp 함수를 사용하여 "hello"와 "hello\0"을 비교합니다. 두 번째 인자로 5 또는 6을 지정하여 null terminated string과 일반 string을 비교합니다. 결과는 모두 0으로, 두 문자열이 같다는 것을 나타냅니다.

    2025-07-29 19:36

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

검색

게시물 검색