(공부) C언어

(C언어) 대문자에 상관없이 문자열 비교(strcasecmp)

율스대디 2020. 9. 21. 21:11

대소문자에 상관없이 문자열을 비교하는 함수이다.

함수 형태와 필요한 헤더파일은 아래와 같다.

 

헤더파일 : #include <String.h>

함수형식 : char * strcasecmp( const char *s1, const char *s2); 

              ※ s1 : 비교할 대상 문자열

              ※ s2 : 비교할 문자열

※ 반환 값(결과)

   s1 = s2 : 0

   s1 > s2 : 양수

   s1 < s2 : 음수

 

함수예제

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

#define strcasecmp _stricmp   //strcasecmp 함수 정의를 못찾는 경우에만 define 해주시면 됩니다.

int main( void)
{
   char  str[]  = "pineapple";
   char  str2[] = "PineApple";
   char  str3[] = "  PineApple";
   char  str4[]= "PineAppleII";
                     
   printf( "%s with %s = %d\n", str, str  , strcasecmp( str, str  ) ); //동일 문자열 비교
   printf( "%s with %s = %d\n", str, str2 , strcasecmp( str, str2 ) ); //대소문자가 다른 경우 비교
   printf( "%s with %s = %d\n", str, str3 , strcasecmp( str, str3 ) ); //다른 문자열 비교
   printf( "%s with %s = %d\n", str, str4, strcasecmp( str, str4) );   //다른 문자열 비교

   return 0;
}

※ 결과창

 

해당 함수의 경우 대소문자에 관계없이 구분해서 return 값이 0이 아닌 경우 두 문자열이 다르다고 인식하여 사용할 경우 매우 쉽게 사용할 수 있습니다.