Η συνάρτηση memcmp () στο C ++ συγκρίνει έναν καθορισμένο αριθμό χαρακτήρων δύο αντικειμένων δείκτη
πρωτότυπο memcmp ()
int memcmp (const void * lhs, const void * rhs, size_t count);
Η memcmp()
συνάρτηση περιλαμβάνει τρία ορίσματα: lhs, rhs και count. Αυτή η συνάρτηση ερμηνεύει πρώτα τα αντικείμενα που επισημαίνονται από lhs και rhs ως πίνακες unsigned char
. Στη συνέχεια συγκρίνει λεξικογραφικά τους πρώτους χαρακτήρες των lhs και rhs.
Ορίζεται στο αρχείο κεφαλίδας "> αρχείο κεφαλίδας.
memcmp () Παράμετροι
lhs and rhs
: Δείκτης στα αντικείμενα μνήμης για σύγκριση.count
: Μέγιστος αριθμός byte για σύγκριση.
memcmp () Επιστροφή τιμής
Η συνάρτηση memcmp () επιστρέφει:
- θετική τιμή εάν το πρώτο byte in
lhs
είναι μεγαλύτερο από το αντίστοιχο byte inrhs
. - αρνητική τιμή εάν το πρώτο διαφορετικό byte in
lhs
είναι μικρότερο από το αντίστοιχο byte inrhs
. - 0 αν τα πρώτα byte by
lhs
καιrhs
είναι ίσα.
Παράδειγμα: Πώς λειτουργεί η λειτουργία 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; )
Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:
Πρώτοι 5 χαρακτήρες του Hello World! και Γεια Γη! είναι το ίδιο Γεια Γη! προηγείται του Hello World!