카테고리 없음
[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를 넣어 주었다. 문자열 전체를 비교하는 것이 아니라 성씨를 구분하는 등 문자열 일부를 비교해야 할 때 사용할 수 있는 함수이다.