Hàm memcmp () trong C ++ so sánh một số ký tự được chỉ định của hai đối tượng con trỏ
nguyên mẫu memcmp ()
int memcmp (const void * lhs, const void * rhs, size_t count);
Các memcmp()
chức năng mất ba đối số: LHS, RHS và đếm. Trước tiên, hàm này diễn giải các đối tượng được trỏ đến bởi lhs và rhs dưới dạng mảng của unsigned char
. Sau đó, nó so sánh các ký tự đếm đầu tiên của lhs và rhs về mặt từ vựng.
Nó được định nghĩa trong tệp tiêu đề "> tệp tiêu đề.
Tham số memcmp ()
lhs and rhs
: Con trỏ đến các đối tượng bộ nhớ để so sánh.count
: Số byte tối đa để so sánh.
memcmp () Giá trị trả về
Hàm memcmp () trả về:
- giá trị dương nếu byte khác đầu tiên trong
lhs
lớn hơn byte tương ứng trongrhs
. - giá trị âm nếu byte khác biệt đầu tiên
lhs
nhỏ hơn byte tương ứng trongrhs
. - 0 nếu số byte đếm đầu tiên của
lhs
vàrhs
bằng nhau.
Ví dụ: Cách hoạt động của hàm memcmp ()
#include #include using namespace std; void display(char *lhs, char *rhs, int result, int count) ( if(result> 0) cout << rhs << " precedes " << lhs << endl; else if (result < 0) cout << lhs << " precedes " << rhs << endl; else cout << "First " << count << " characters of " << lhs << " and " << rhs << " are same" << endl; ) int main() ( char lhs() = "Hello World!"; char rhs() = "Hello Earth!"; int result; result = memcmp(lhs, rhs, 5); display(lhs, rhs, result, 5); result = memcmp(lhs, rhs, 7); display(lhs, rhs, result, 7); return 0; )
Khi bạn chạy chương trình, đầu ra sẽ là:
5 ký tự đầu tiên của Hello World! và Hello Earth! cùng Hello Earth! đi trước Hello World!