본문 바로가기
c언어/c언어

[c언어] strcmp

by ilp 2024. 5. 31.
반응형

'strcmp' 함수

  • c언어 표준 라이브러리 '<string.h>' 에 정의 되어 있다.
  • 두 문자열을 비교하여 그 차이를 반환하는 함수이다.
    문자열이 동일한지, 어느 문자열이 사전 순으로 먼저 오는지를 판단 할 수 있다.

👇 함수의 원형

int strcmp(const char *s1, const char *s2);
  • s1: 첫번째 문자열의 포인터
  • s2: 두번째 문자열의 포인터

반환 값

  • 0: 두 문자열이 동일할때
  • 1: 첫 번째 문자열이 두 번째 문자열보다 사전순을 일때
  • -1: 첫 번째 문자열이 두 번째 문자열보다 사전순을 일때

 

👇 예제 코드

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

int main() {
    char str1[] = "apple";
    char str2[] = "banana";

    int result = strcmp(str1, str2);

    if (result < 0) {
        printf("'%s' comes before '%s'\n", str1, str2);
    } else if (result > 0) {
        printf("'%s' comes after '%s'\n", str1, str2);
    } else {
        printf("'%s' and '%s' are the same.\n", str1, str2);
    }

    return 0;
}
  • 'strcmp'는 두 문자열 'apple'과 'banana'를 비교하여,
    'apple'이 'banana'보다 사전 순으로 앞서서 음수를 반환다.

 

주의사항

1. 종료 문자:

  • 'strcmp'는 두 문자열이 널로 종료 되어 있다고 가정한다.
  • 널('\0') 없이 끝나면 함수는 이상해질 수 있다.

2. 국제화 고려:

  • 'strcmp'바이트 비교를 수행한다.
  • 다국어 문자열이나 다양한 인코딩에서는 적합하지 않을 수 있다.

반응형

'c언어 > c언어' 카테고리의 다른 글

[c언어] typedef  (0) 2025.03.02
[c언어] strcnpy  (0) 2025.03.02
[c언어] strcpy  (0) 2025.03.02
[c언어] 함수  (4) 2024.07.02
[c언어] '%s'와 '%[n]s'  (0) 2024.06.08