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