C언어 C++ strcmp strncmp 함수 사용법

 이번에 공유 드릴 사항은 C언어 C++ strcmp strncmp 함수 사용법 대한 내용입니다. 문자열 비교는 프로그래밍에서 매우 중요한 작업 중 하나입니다.

 C 및 C++와 같은 프로그래밍 언어에서는 strcmp() 및 strncmp() 함수를 사용하여 문자열을 비교할 수 있습니다. 그리고 strcmp() 및 strncmp() 함수들의 결과 값은 문자열을 비교하고 관계를 나타내는 값을 반환하게 됩니다.

strcmp 함수 사용법

: 먼저 strcmp 함수에 대해서 설명 드리도록 하겠습니다. strcmp() 함수는 두 문자열을 사전순으로 비교하는데 활용이 되는 함수입니다.

 이 함수는 두 개의 문자열 값을 비교하고 문자열 간의 관계를 나타내는 정수 값을 반환하는데 두 개의 문자열 값을 인수로 받고, 반환 값이 0인 경우 문자열이 같음을 나타냅니다. 즉 결괏값이 “0” 일 경우에는 문자열이 같다는 의미입니다. 

 만약 “0” 이 아니고 반환 값이 음수인 경우 첫 번째 문자열이 두 번째 문자열보다 사전순으로 작다는 것을 의미합니다. 그리고 반대로 반환 값이 양수인 경우 첫 번째 문자열이 두 번째 문자열보다 사전순으로 크다는 것을 의미합니다.

strcmp 함수 기본적인 구조는 비교하는 문자열로 구성이 되어 있으면 비교하는 구문이기 때문에 두 개 요소를 입력을 해주셔야 코드가 돌아가는 것을 확인하실 수 있습니다.

strcmp 함수 기본적인 구조

int strcmp(const char *str1, const char *str2)

 

– strcmp 함수 결과 값에 따른 해석 

  • 0: 문자열이 같음을 의미합니다.
  • 음수: str1이 사전순으로 str2보다 작음을 의미합니다.
  • 양수 값: ‘str1’이 사전순으로 ‘str2’보다 큼을 의미합니다.

 

– strcmp 함수 활용 예시

 

#include <stdio.h>
#include <string.h>

int main() {

    char str1[] = "student";
    char str2[] = "student";
    char str3[] = "school";

    int result1 = strcmp(str1, str2);
    int result2 = strcmp(str1, str3);

    printf("Result 1: %d\\\\n", result1); // Output: 0
    printf("Result 2: %d\\\\n", result2); // Output: negative value

    return 0;

}

 

 

strncmp 함수 사용법

: 다음은 strncmp 대해서 설명 드리도록 하겠습니다. strncmp() 함수는 strcmp()와 유사한 함수입니다. 하지만 차이점으로는 문자열의 처음 n 문자만 비교하는 함수라고 이해하시면 됩니다.

 즉 해당 함수는 비교할 최대 문자 수를 지정할 수 있는데 두 개의 문자열 값을 인수로 받고, 반환 값이 0인 경우 문자열의 처음 n 문자가 같음을 나타냅니다. 

 결과 값을 가지고 설명을 드리면 strncmp 함수의 반환 값이 음수인 경우 첫 번째 문자열에서 첫 번째 다른 문자가 두 번째 문자열에서 해당 문자보다 사전순으로 작다는 것을 의미합니다.

 반대의 경우, 반환 값이 양수인 경우 첫 번째 문자열에서 첫 번째 다른 문자가 두 번째 문자열에서 해당 문자보다 사전순으로 크다는 것을 의미합니다.

 

strncmp 함수 기본적인 구조 

int strncmp(const char *str1, const char *str2, size_t n)

 

strncmp 함수 결과 값에 따른 해석 

  • 0: 문자열의 처음 n 문자가 같음을 의미합니다.
  • 음수: str1의 첫 번째 다른 문자가 str2의 해당 문자보다 작음을 의미합니다.
  • 양수 값: str1의 첫 번째 다른 문자가 str2의 해당 문자보다 큼을 의미합니다.

 

strncmp 함수 활용 예시

#include <stdio.h>
#include <string.h>

int main() {

    char str1[] = "student";
    char str2[] = "students";
    char str3[] = "school";

    int result1 = strncmp(str1, str2, 4);
    int result2 = strncmp(str1, str3, 4);
 
    printf("Result 1: %d\\\\n", result1); // Output: 0
    printf("Result 2: %d\\\\n", result2); // Output: negative value

    return 0;

}

 

 

이렇게 strcmp()  strncmp() 함수를 이용하게 되면 프로그램 내에서 정렬, 검색 또는 조건부 분기와 같은 작업에서 문자열을 비교하는 데 매우 유용하게 사용이 되니 참조하시면 도움이 되실 겁니다.

 여기까지 작성하도록 하겠습니다. 지금까지 C언어 C++ strcmp strncmp 함수 사용법 대해서 공유를 드렸습니다. 프로그래밍을 공부하면 공부할 수도록 공부해야 될 게 많이 지는 거 같습니다. 도움이 되셨으면 좋겠습니다. 감사합니다.

Leave a Comment