반응형
'strcmp' 함수
- c언어 표준 라이브러리 '<string.h>' 에 정의 되어 있다.
- 두 문자열을 비교하여 그 차이를 반환하는 함수이다.
문자열이 동일한지, 어느 문자열이 사전 순으로 먼저 오는지를 판단 할 수 있다.
👇 함수의 원형
int strcmp(const char *s1, const char *s2);
- s1: 첫번째 문자열의 포인터
- s2: 두번째 문자열의 포인터
반환 값
- 0: 두 문자열이 동일할때
- 1: 첫 번째 문자열이 두 번째 문자열보다 사전순을 뒤일때
- -1: 첫 번째 문자열이 두 번째 문자열보다 사전순을 앞일때
👇 예제 코드
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "apple";
char str2[] = "banana";
int result = strcmp(str1, str2);
if (result < 0) {
printf("'%s' comes before '%s'\n", str1, str2);
} else if (result > 0) {
printf("'%s' comes after '%s'\n", str1, str2);
} else {
printf("'%s' and '%s' are the same.\n", str1, str2);
}
return 0;
}
- 'strcmp'는 두 문자열 'apple'과 'banana'를 비교하여,
'apple'이 'banana'보다 사전 순으로 앞서서 음수를 반환다.
주의사항
1. 널 종료 문자:
- 'strcmp'는 두 문자열이 널로 종료 되어 있다고 가정한다.
- 널('\0') 없이 끝나면 함수는 이상해질 수 있다.
2. 국제화 고려:
- 'strcmp'는 바이트 비교를 수행한다.
- 다국어 문자열이나 다양한 인코딩에서는 적합하지 않을 수 있다.
끝
반응형
'c언어 > c언어' 카테고리의 다른 글
[c언어] typedef (0) | 2025.03.02 |
---|---|
[c언어] strcnpy (0) | 2025.03.02 |
[c언어] strcpy (0) | 2025.03.02 |
[c언어] 함수 (4) | 2024.07.02 |
[c언어] '%s'와 '%[n]s' (0) | 2024.06.08 |