카테고리 없음

[C언어] 문자열 조작함수 - strncmp()

s뽈록이s 2013. 6. 18. 12:50
void main()
{
	char name[10];

	printf("이름을 입력해 주세요 : ");
	scanf("%s", name);

	if(strncmp(name, "이", 2) == 0)
	{
		printf("이씨(가) 입니다.\n");
	}
	else
	{
		printf("이씨(가) 아닙니다.\n");
	}
}

프로그램 실행화면


문자열 조작함수 중 strncmp()함수가 있다. strcmp()함수에서 n이 붙은 녀석이다. 이름만 보고도 이제 무슨 녀석인지 알 수 있을 것이다.


strcmp()함수는 두 문자열 전체를 비교했지만 strncmp()함수는 3번 째 매개변수의 값만큼만 비교한다. 예제에서는 2만큼의 길이를 비교했다.


즉 의도한 것은 이름의 성씨를 구분하기 위한 것이다. 한글이라 한글자당 2byte이므로 2를 넣어 주었다. 문자열 전체를 비교하는 것이 아니라 성씨를 구분하는 등 문자열 일부를 비교해야 할 때 사용할 수 있는 함수이다.