Memcmp () và memicmp () so sánh n byte đầu tiên của hai khối bộ nhớ.
-
memcmp () thực hiện so sánh dưới dạng các ký tự không dấu.
-
memicmp () thực hiện so sánh dưới dạng ký tự nhưng bỏ qua chữ hoa hoặc chữ thường.
-
Cả hai hàm đều trả về một giá trị số nguyên.
-
Hai bộ đệm bộ nhớ bằng nhau (trả về 0).
-
Bộ đệm đầu tiên lớn hơn bộ đệm thứ hai (trả về> 0).
-
Bộ đệm đầu tiên nhỏ hơn bộ đệm thứ hai (trả về <0).
Chương trình
Chương trình sau đây cho thấy cách sử dụng các hàm memcmp () và memicmp ().
#include<conio.h>
#include<mem.h>
main(){
char st1[]="This is C Programming language";
char st2[]="this is c programming";
int result;
result=memcmp(st1,st2,strlen(st2));
printf("\n1. result after comparing buffer using memcmp");
check(result);
result=memicmp(st1,st2,strlen(st2));
printf("\n2. result after comparing buffer using memicmp");
check(result);
}
check(int x){
if(x==0)
printf(" buffer st1 and st2 hold same data\n");
if(x>0)
printf("buffer st1 is bigger than buffer st2\n");
if(x<0)
printf(“ buffer st1 is less than buffer st2\n");
} Đầu ra
Bạn sẽ thấy kết quả sau -
1. result after comparing buffer using memcmp buffer st1 is less than buffer st2 2. result after comparing buffer using memicmp buffer st1 and st2 hold same data