본문 바로가기

Programming/C C++

[C, C++] 표준 Library 함수 - 문자열 비교 함수

아래 함수사용하려면 string.h 선언이 필요합니다.

 함수  사용  설명
 strcmp()  strcmp(*s1, *s2)  s1이 s2보다 크면 1을 같으면 0을 인수2가 인수1보다 크면 -1값을 반환합니다.
 strncmp()  strncmp(*s1, *s2, i)  s1과 s2의 문자열을 i수 만큼만 비교합니다.(결과는 strcmp와 같습니다.)
 stricmp()  stricmp(*s1, s2)  s1과 s2의 문자열을 대소문자 구분없이 비교합니다.(결과는 strcmp와 같습니다.)
 strnicmp()  strnicmp(*s1, s2, i)  s1과 s2의 문자열을 i수 만큼만 대소문자 구분없이 비교합니다.(결과는 strcmp와 같습니다.)

각 함수의 s1, s2는 문자열 인수를, i를 정수형 인수를 의미합니다. 또한 각 문자열 비교시 비교값은 문자열을 이루는 각 Ascii값을 토대로 합니다.(이때 strcmp와 strncmp는 대소문자를 구분해서 각각의 Ascii값을 가져오지만 stricmp와 strnicmp는 대소문자를 구분하지 않습니다.)

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

main()
{
  char ss[7] = "abcdef";
  char es[7] = "ABCDEF";
 
  printf("%d\n", strcmp(ss, es));
}


strcmp함수를 통해 두 문자열값을 비교합니다.