개발머해니

[C] STRCMP, STRNCMP : 문자열 비교 본문

백엔드

[C] STRCMP, STRNCMP : 문자열 비교

왕행님 2023. 9. 10. 17:35
728x90
반응형

strcmp, strncmp 함수는 문자열을 비교하여 같으면 0을 반환하고, 같지 않으면 0을 반환하지 않는다.

int strncmp(const char *string1, const char *string2, size_t count);

 

주민번호가 담겨있는 변수 reg_no를 선언해보자

char * reg_no = "9312021000000"; // 931202-1000000
[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
9 3 1 2 0 2 1 0 0 0 0 0 0

 

성별이 여자인지 남자인지 판별해보자.

if( reg_no[6] == '1' )
{
    printf("성별이 남자이다.");
}
else if( reg_no[6] == '2' )
{
    printf("성별이 여자이다.");
}

 

성별 뒤의 주민번호가 0으로 들어오면 비로그인 회원이고, 0인 아닌 숫자의 조합으로 들어오면 로그인 회원이다.

 

strcmp함수를 통해 로그인회원과 비로그인 회원임을 판별해보자.

if( strcmp( reg_no+7, "000000" ) == 0 )
{
    printf("비로그인 회원이다.");
}
else{
	printf("로그인한 회원이다.");
}

 

 

strncmp 함수를 통해서도 구현해 볼 수 있다.

if( strncmp( reg_no+7, "000000", 6 ) != 0 )
{
    printf("로그인한 회원이다.");
}
else{
	printf("비로그인 회원이다.");
}
728x90
반응형