memcmp() và memicmp() so sánh n byte đầu tiên của hai khối bộ nhớ.
memcmp() so sánh như ký tự không dấu.
memicmp() so sánh như ký tự nhưng bỏ qua chữ hoa/chữ thường.
Cả hai hàm trả về giá trị nguyên.
Hai bộ đệm bằng nhau (trả về 0).
Bộ đệm đầu lớn hơn bộ đệm hai (trả về >0).
Bộ đệm đầu nhỏ hơn bộ đệm hai (trả về <0).
Chương trình
Chương trình sau minh họa dùng 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. Ket qua so sanh bo dem dung memcmp");
check(result);
result = memicmp(st1, st2, strlen(st2));
printf("\n2. Ket qua so sanh bo dem dung memicmp");
check(result);
}
check(int x) {
if (x == 0)
printf(" bo dem st1 va st2 chua du lieu giong nhau\n");
if (x > 0)
printf("bo dem st1 lon hon bo dem st2\n");
if (x < 0)
printf("bo dem st1 nho hon bo dem st2\n");
}
Kết quả
Bạn sẽ thấy đầu ra sau:
1. Ket qua so sanh bo dem dung memcmp bo dem st1 nho hon bo dem st2 2. Ket qua so sanh bo dem dung memicmp bo dem st1 va st2 chua du lieu giong nhau