Hàm memcmp() trong C

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ả:

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 

Thứ Bảy, 08/09/2018 09:01
31 👨 123