Hàm int memcmp(const void *str1, const void *str2, size_t n)) so sánh n byte đầu của hai chuỗi str1 và str2.
Khai báo hàm memcmp() trong C
Dưới đây là phần khai báo cho memcmp() trong C:
int memcmp(const void *str1, const void *str2, size_t n)
Tham số
str1 -- Đây là con trỏ tới một khối bộ nhớ.
str2 -- Đây là con trỏ tới một khối bộ nhớ.
n -- Đây là số byte để được so sánh.
Trả về giá trị
Nếu trả về giá trị < 0 thì hàm này chỉ rằng str1 là ngắn hơn str2.
Nếu trả về giá trị > 0 thì hàm này chỉ rằng str2 là ngắn hơn str1.
Nếu trả về giá trị = 0 thì hàm này chỉ rằng str1 là bằng str2.
Ví dụ
Chương trình C sau minh họa cách sử dụng của memcmp() trong C:
#include <stdio.h>
#include <string.h>
int main ()
{
char str1[15];
char str2[15];
int ret;
memcpy(str1, "abcdef", 6);
memcpy(str2, "ABCDEF", 6);
ret = memcmp(str1, str2, 5);
if(ret > 0)
{
printf("Chuoi str2 la ngan hon chuoi str1");
}
else if(ret < 0)
{
printf("Chuoi str1 la ngan hon chuoi str2");
}
else
{
printf("Chuoi str1 la bang chuoi str2");
}
return(0);
}
Biên dịch và chạy chương trình C trên sẽ cho kết quả:

Theo Tutorialspoint
Bài trước: Hàm memchr() trong C
Bài tiếp: Hàm memcpy() trong C
Source: https://quantrimang.com/hoc/ham-memcmp-trong-c-157995