C ++ strncmp () - C ++ Τυπική βιβλιοθήκη

Η συνάρτηση strncmp () στο C ++ συγκρίνει έναν καθορισμένο αριθμό χαρακτήρων δύο μηδενικών συμβολοσειρών τερματισμού. Η σύγκριση γίνεται λεξικογραφικά.

πρωτότυπο strncmp ()

 int strncmp (const char * lhs, const char * rhs, size_t count);

Η strncmp()συνάρτηση παίρνει δύο ορίσματα: lhs, rhs και count. Συγκρίνει το περιεχόμενο των lhs και rhs λεξικογραφικά έως το μέγιστο των αριθμών χαρακτήρων. Το σύμβολο του αποτελέσματος είναι το σημάδι της διαφοράς μεταξύ των πρώτων ζευγών χαρακτήρων που διαφέρουν σε lhs και rhs.

Η συμπεριφορά του strncmp()είναι απροσδιόριστη εάν ένα από τα lhs ή rhs δεν υποδεικνύει συμβολοσειρές με άκυρη λήξη.

Ορίζεται στο αρχείο κεφαλίδας "> αρχείο κεφαλίδας.

strncmp () Παράμετροι

  • lhs and rhs: Δείκτης στις συμβολοσειρές μηδενικής λήξης για σύγκριση.
  • count: Μέγιστος αριθμός χαρακτήρων προς σύγκριση.

strncmp () Επιστροφή τιμή

Η strncmp()συνάρτηση επιστρέφει:

  • θετική τιμή εάν ο πρώτος διαφορετικός χαρακτήρας σε lhs είναι μεγαλύτερος από τον αντίστοιχο χαρακτήρα σε rhs.
  • αρνητική τιμή εάν ο πρώτος διαφορετικός χαρακτήρας σε lhs είναι μικρότερος από τον αντίστοιχο χαρακτήρα σε rhs.
  • 0 εάν οι πρώτοι χαρακτήρες μέτρησης lhs και rhs είναι ίσοι.

Παράδειγμα: Πώς λειτουργεί η συνάρτηση strncmp ()

 #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() = "Armstrong"; char rhs() = "Army"; int result; result = strncmp(lhs,rhs,3); display(lhs,rhs,result,3); result = strncmp(lhs,rhs,4); display(lhs,rhs,result,4); return 0; )

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Οι πρώτοι 3 χαρακτήρες του Άρμστρονγκ και του Στρατού είναι ίδιοι Ο Άρμστρονγκ προηγείται του Στρατού

ενδιαφέροντα άρθρα...