개인노트

[C언어] strcmp, strncmp 함수 - 문자열을 비교하는 함수 본문

C/문법

[C언어] strcmp, strncmp 함수 - 문자열을 비교하는 함수

BillnairK 2017. 7. 14. 19:34

▶ 문자열을 비교하는 함수 - strcmp, strncmp ◀


strcmp와 strncmp 함수는 문자열을 문자단위로 비교해주는 함수이다.


s1 > s2 : 0보다 큰 값 반환

s1 < s2 : 0보다 작은 값 반환

s1 == s2 : 0 반환 


#include <string.h>

int strcmp(char * s1, const char * s2);

int strncmp(char * s1, const char * s2, size_t n ); // size_t n = n개의 문자만큼 비교

→ 두 문자열이 같으면 0 반환, 다르면 0이 아닌 값 반환(컴파일러마다 다름)


[ 예제 1]


#include <stdio.h>

#include <string.h>


int main(void) {

char word[30];

char eng[30];

printf("문자 입력 : ");

fgets(word, sizeof(word), stdin);

printf("문자 입력 : ");

fgets(eng, sizeof(eng), stdin);


printf("strcmp 값 : %d\n", strcmp(word, eng));

if (!strcmp(word, eng))

printf("문자 일치 !! \n");

else

printf("문자 불일치 ㅠㅠ\n");


[ 예제 2 ]


#include <stdio.h>

#include <string.h>


int main(void) {

char word[30];

char eng[30];

printf("문자 입력 : ");

fgets(word, sizeof(word), stdin);

printf("문자 입력 : ");

fgets(eng, sizeof(eng), stdin);


printf("strcmp 값 : %d\n", strcmp(word, eng));

if (!strcmp(word, eng))

printf("문자 일치 !! \n");

else 

printf("문자 불일치 ㅠㅠ\n");

if (!strncmp(word, eng, 3))

printf("But 앞 3글자만 일치\n");

} 


Comments