C memcmp() 두개의 메모리 변수에 대한 내용 비교 함수
C언어 함수 memcmp()는 2개의 메모리 변수에 대해 내용을 비교하여 첫 번째 인수보다 두 번째 인수가 같은지, 큰지, 작은지를 구합니다.
- 헤더: string.h
- 형태: int memcmp(const void *s1, const void *s2, size_t n)
- 인수: void *s1 비교 대상 메모리 포인터
void *s2 비교할 메모리 포인터
size_t n 비교할 바이트 크기 - 반환: int 양의 정수 : s1 이 s2보다 크다.
0 : s1과 s2가 같다.
음의 정수 : s1보다 s2가 크다.
C언어 memcmp() 함수 예제
#include <stdio.h>
#include <string.h>
int main( void)
{
char *ptr1 = "jwmx";
char *ptr2 = "jwmx";
char *ptr3 = "jwmx.badayak";
char *ptr4 = "badayak";
char *ptr5 = "com";
printf( "%s with %s = %d\n", ptr1, ptr2, memcmp( ptr1, ptr2, strlen(ptr1)));
printf( "%s with %s (ptr1 size)= %d\n", ptr1, ptr3, memcmp( ptr1, ptr3, strlen(ptr1)));
printf( "%s with %s (ptr3 size)= %d\n", ptr1, ptr3, memcmp( ptr1, ptr3, strlen(ptr3)));
printf( "%s with %s = %d\n", ptr1, ptr4, memcmp( ptr1, ptr4, strlen(ptr1)));
printf( "%s with %s (ptr1 size)= %d\n", ptr1, ptr5, memcmp( ptr1, ptr5, strlen(ptr1)));
printf( "%s with %s (ptr5 size)= %d\n", ptr1, ptr5, memcmp( ptr1, ptr5, strlen(ptr5)));
return 0;
}
C언어 memcmp() 예제 실행 결과
]$ ./a.out
jwmx with jwmx = 0
jwmx with jwmx.badayak (ptr1 size)= 0
jwmx with jwmx.badayak (ptr3 size)= -46
jwmx with badayak = 8
jwmx with com (ptr1 size)= 7
jwmx with com (ptr5 size)= 7
]$
'컴퓨터 > 프로그래밍' 카테고리의 다른 글
C언어 getchar 함수 표준 입력 장치로부터 문자 하나 입력 (0) | 2020.03.12 |
---|---|
C언어 memchr 함수 메모리에서 문자 검색 (0) | 2020.03.12 |
C언어 memmove 함수 메모리 영역 복사, 자기 영역도 가능 (0) | 2020.03.12 |