본문으로 바로가기

바다야크

  1. Home
  2. 컴퓨터/프로그래밍
  3. C언어 memcmp 함수 두개의 메모리 변수에 대한 내용 비교

C언어 memcmp 함수 두개의 메모리 변수에 대한 내용 비교

· 댓글개 · 바다야크

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
]$
SNS 공유하기
💬 댓글 개
이모티콘창 닫기
울음
안녕
감사해요
당황
피폐

이모티콘을 클릭하면 댓글창에 입력됩니다.