(공부) C언어
(C언어) 대소문자 상관없이 지정한 길이만큼 문자열 비교(strncasecmp)
율스대디
2020. 9. 21. 21:35
대소문자에 상관없이 지정한 길이만큼의 문자열을 비교하는 함수이다.
함수 형태와 필요한 헤더파일은 아래와 같다.
헤더파일 : #include <string.h>
함수형식 : char * strncasecmp( const char *s1, const char *s2, size_t n);
※ s1 : 비교할 대상 문자열
※ s2 : 비교할 문자열
※ 반환 값(결과)
s1 = s2 : 0
s1 > s2 : 양수
s1 < s2 : 음수
#include <stdio.h>
#include <string.h>
int main(void)
{
char str[] = "pineapple";
char str2[] = "PineApple";
char str3[] = " PineApple";
char str4[] = "PineAppleII";
printf("%s with %s = %d\n", str, str, strncasecmp(str, str, 3)); //동일 문자열 비교
printf("%s with %s = %d\n", str, str2, strncasecmp(str, str2, 3)); //대소문자가 다른 경우 비교
printf("%s with %s = %d\n", str, str3, strncasecmp(str, str3, 3)); //다른 문자열 비교
printf("%s with %s = %d\n", str, str4, strncasecmp(str, str4, 3)); //다른 문자열 비교, 9글자는 대소문자 상관없이 동일하다
return 0;
}
※ 결과값(파일이 날라가서 캡쳐를 못했네요...)
pineapple with pineapple = 0
pineapple with PienApple = 0
pineapple with PineApple = 80
pineapple with PineApplell = -105
위와 같이 앞에서 3번째 글자까지 비교해서 대소문자에 상관없이 동일한 문자열은 0을 반환한다.