Η συνάρτηση strcmp () στο C ++ συγκρίνει δύο μηδενικές συμβολοσειρές τερματισμού. Η σύγκριση γίνεται λεξικογραφικά.
πρωτότυπο strcmp ()
int strcmp (const char * lhs, const char * rhs);
Η strcmp()
συνάρτηση περιλαμβάνει δύο ορίσματα: lhs και rhs. Συγκρίνει λεξικογραφικά το περιεχόμενο των lhs και rhs. Το σύμβολο του αποτελέσματος είναι το σημάδι της διαφοράς μεταξύ των πρώτων ζευγών χαρακτήρων που διαφέρουν σε lhs και rhs.
Η συμπεριφορά του strcmp()
είναι απροσδιόριστη εάν ένα από τα lhs ή rhs δεν υποδεικνύει συμβολοσειρές με άκυρη λήξη.
Ορίζεται στο αρχείο κεφαλίδας "> αρχείο κεφαλίδας.
strcmp () Παράμετροι
lhs and rhs
: Δείκτης στις συμβολοσειρές μηδενικής λήξης για σύγκριση.
strcmp () Επιστροφή τιμή
Η συνάρτηση strcmp () επιστρέφει:
- θετική τιμή εάν ο πρώτος διαφορετικός χαρακτήρας σε lhs είναι μεγαλύτερος από τον αντίστοιχο χαρακτήρα σε rhs.
- αρνητική τιμή εάν ο πρώτος διαφορετικός χαρακτήρας σε lhs είναι μικρότερος από τον αντίστοιχο χαρακτήρα σε rhs.
- 0 εάν τα hs και rhs είναι ίδια.
Παράδειγμα: Πώς λειτουργεί η λειτουργία strcmp ()
#include #include using namespace std; void display(char *lhs, char *rhs, int result) ( if(result> 0) cout << rhs << " precedes " << lhs << endl; else if (result < 0) cout << lhs << " precedes " << rhs << endl; else cout << lhs << " and " << rhs << " are same" << endl; ) int main() ( char lhs() = "Armstrong"; char rhs() = "Army"; int result; result = strcmp(lhs,rhs); display(lhs,rhs,result); result = strcmp(lhs,lhs); display(lhs,lhs,result); return 0; )
Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:
Ο Άρμστρονγκ προηγείται του Στρατού Ο Άρμστρονγκ και ο Άρμστρονγκ είναι ίδιοι