Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C/C++의 strcmp()

<시간/>

strcmp() 함수는 내장 라이브러리 함수이며 "string.h" 헤더 파일에 선언되어 있습니다. 이 함수는 문자열 인수를 비교하는 데 사용됩니다. 사전순으로 문자열을 비교하므로 두 문자열을 문자별로 비교합니다. 두 문자열의 문자가 같거나 NULL 문자를 찾을 때까지 문자열의 맨 처음 문자를 비교하기 시작합니다.

두 문자열의 첫 번째 문자가 같으면 두 번째 문자 등을 검사합니다. 이 프로세스는 NULL 문자를 찾거나 두 문자가 같지 않을 때까지 계속됩니다.

다음은 C 언어의 strcmp() 구문입니다.

int strcmp(const char *leftStr, const char *rightStr );

이 함수는 비교를 기반으로 다음 세 가지 다른 값을 반환합니다.

1.0(0) - 두 문자열이 동일하면 0을 반환합니다. 두 문자열의 모든 문자는 동일합니다.

다음은 C 언어에서 두 문자열이 동일한 경우 strcmp()의 예입니다.

예시

#include<stdio.h>
#include<string.h>
int main() {
   char str1[] = "Tom!";
   char str2[] = "Tom!";
   int result = strcmp(str1, str2);
   if (result==0)
   printf("Strings are equal");
   else
   printf("Strings are unequal");
   printf("\nValue returned by strcmp() is: %d" , result);
   return 0;
}

출력

Strings are equal
Value returned by strcmp() is: 0

2.0보다 큼(>0) - 왼쪽 문자열의 일치하는 문자가 오른쪽 문자열의 문자보다 큰 ASCII 값을 가질 때 0보다 큰 값을 반환합니다.

다음은 C 언어에서 0보다 큰 값을 반환할 때 strcmp()의 예입니다.

예시

#include<stdio.h>
#include<string.h>
int main() {
   char str1[] = "hello World!";
   char str2[] = "Hello World!";
   int result = strcmp(str1, str2);
   if (result==0)
   printf("Strings are equal");
   else
   printf("Strings are unequal");
   printf("\nValue returned by strcmp() is: %d" , result);
   return 0;
}

출력

Strings are unequal
Value returned by strcmp() is: 32

3.0보다 작음(<0) - 왼쪽 문자열의 일치하는 문자가 오른쪽 문자열의 문자보다 작은 ASCII 값을 가질 경우 0보다 작은 값을 반환합니다.

다음은 C 언어의 strcmp() 예제입니다.

예시

#include<stdio.h>
#include<string.h>
int main() {
   char leftStr[] = "Hello World!";
   char rightStr[] = "hello World!";
   int result = strcmp(leftStr, rightStr);
   if (result==0)
   printf("Strings are equal");
   else
   printf("Strings are unequal");
   printf("\nValue returned by strcmp() is: %d" , result);
   return 0;
}

출력

Strings are unequal
Value returned by strcmp() is: -32