include
#include <string.h> int strncmp(const char *s1, const char *s2, size_t n);
매개변수
- s1
비교하고싶은 첫 번째 문자열이다.- s2
비교하고싶은 두 번째 문자열이다.- n
비교하고싶은 문자의 수이다.
두 문자열이 다른지
, 어디가 더 크거나 작은지
비교하는 함수이고 n
을 받아서 검사 할 범위를 정할 수 있다. 그리고 아스키코드값으로 비교를 하기 때문에 대문자 , 소문자
도 비교가 된다.
앞 문자열이 더 크다면 양수
를, 뒷 문자열이 더 크다면 음수
를, 둘이 동일하다면 0
을 반환한다.
값이 똑같은 문자열 두 개를 넣고 검사할 수를 넣어주면 해당 수 만큼만 비교해 준다.
두 문자열의 값은 분명 다르지만 size를 4를 주었으니 "1234"까지만 비교를 하고 모두 동일하니 0을 리턴한다.
s1이 더 크다면 양수를 리턴해주고
s2가 더 크다면 음수를 리턴해 준다.
두 문자열이 동일하면 0, 다르다면 s1 - s2를 리턴해 준다.
하지만 strncmp의 리턴값이 0, 1, -1로 고정이 되어서 출력이 되기도 한다. 그건 운영체제에 따라서 다른 듯 싶다. Window는 0, 1, -1로 출력을 해 주고 Mac은 해당 아스키코드값의 차로 리턴해 주는 것 같다.