Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Sự khác biệt giữa memcmp và memicmp trong C


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