형식
#include <string.h>
int strcmp(const char *string1, const char *string2);
설명
strcmp() 함수는 string1 및 string2를 비교합니다. 함수는 널로 끝나는 스트링에서 작동합니다 함수에 대한 스트링 인수는 스트링 끝을 나타내는 널 문자(\0)를 포함해야 합니다.
리턴값
strcmp( ) 함수 구현
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#include <stdio.h>
int StringCompare(const char *p_str1, const char *p_str2)
{
while (1) {
// 같은 순서에 있는 문자가 서로 다르면 비교를 중단.
if (*p_str1 != *p_str2) break;
// p_str1을 구성하는 문자가 NULL 문자인 경우에는 반복을 중단.
if (*p_str1 == 0) break;
p_str1++;
p_str2++;
}
// 두 포인터가 마지막 위치까지 동일하다면 같은 문자라는 뜻.
// 즉, 반복문이 'if(*p_str1 == 0) break;'에 의해서 종료되었다는 뜻.
if (*p_str1 == *p_str2) return 0; // 같은 경우
else if (*p_str1 > *p_str2) return 1; // p_str1이 더 큰경우
return -1; // p_str1이 작으면 -1
}
void main()
{
printf("%d\n", StringCompare("aaa", "aab"));
}
|
cs |
'C > C언어 코드 기록' 카테고리의 다른 글
sprintf()함수 가변적으로 사용하기. (0) | 2021.12.23 |
---|---|
memcpy()함수를 사용해 조건문 줄이기. (0) | 2021.10.15 |
문자열 복사 함수 만들기. (strcpy( )함수와 동일한 기능) (0) | 2021.08.09 |
문자열 연결 함수 만들기. (strcat( )함수와 동일한 기능) (0) | 2021.08.09 |
문자열의 값을 16진수와 2진수로 출력 (0) | 2021.08.02 |