Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός

Πώς να χρησιμοποιήσετε τη λειτουργία memcmp σε C + +

Η λειτουργία C + + memcmp συγκρίνει έναν καθορισμένο αριθμό των bytes των δύο μπλοκ της μνήμης . Επιστρέφει 0 αν όλα ταιριάζουν και μη μηδενική τιμή για να υποδείξει ποια τιμή είναι μεγαλύτερη . Τα ακόλουθα βήματα θα σας βοηθήσουν να χρησιμοποιήσετε memcmp . Οδηγίες
Η 1

Μάθετε τη σύνταξη του memcmp σε C + + . Η πλήρης σύνταξη είναι int memcmp ( const void * pointer1 , const void * pointer2 , size_t num )? . 2

Ανακοίνωση που pointer1 και pointer2 είναι δείκτες σε μπλοκ της μνήμης . Memcmp ξεκινά στην αρχή του μπλοκ μνήμης και συγκρίνει τις τιμές byte μέχρι να βρει έχουν μια διαφορά ή αριθμός bytes έχουν σχέση . Αν num bytes αγώνα , επιστρέφει memcmp μηδέν . Αν η πρώτη μη - ταίριασμα byte ως unsigned char είναι μεγαλύτερος για pointer1 , memcmp επιστρέφει ένα θετικό ακέραιο . Αλλιώς, επιστρέφει έναν αρνητικό ακέραιο .
Εικόνων 3

Καταλάβετε ότι η λειτουργία C + + memcmp φυλάσσεται στη βιβλιοθήκη CString . Μπορεί να χρειαστεί να συμπεριλάβετε το αρχείο header string.h να χρησιμοποιήσετε αυτή τη λειτουργία
Η 4

Κοιτάξτε την παρακάτω πλήρες πρόγραμμα για ορισμένα απλά παραδείγματα για το πώς να χρησιμοποιήσετε memcmp : .

# Include # περιλαμβάνουν

int main ( ) { char string1 [ 80 ] ? char string2 [ 80 ] ? int n ? size_t length1 , length2 ?

printf ( "Εισάγετε ένα κορδόνι : " ) ? παίρνει ( συμβολοσειρά1 ) ? printf ( "Δώστε μια άλλη σειρά : " ) ? παίρνει ( string2 ) ? length1 = strlen ( συμβολοσειρά1 ) ? length2 = strlen ( string2 ) ? n = memcmp ( συμβολοσειρά1 , συμβολοσειρά2 , length1 > length2 length1 : length2 ) ? if ( n > 0 ) printf ( " . '% s' είναι μεγαλύτερος από ' % s' \\ n" , συμβολοσειρά1 , συμβολοσειρά2 ) ? . else if ( nprintf ( " '% s' είναι μικρότερο από το '% s' \\ n » , συμβολοσειρά1 , συμβολοσειρά2 ) ? elseprintf ( " '% s' είναι το ίδιο με '% s' \\ n " , συμβολοσειρά1 , συμβολοσειρά2 ) ? .

επιστροφή 0? }
5

Παρατηρήστε το ακόλουθο αποτέλεσμα για το πρόγραμμα αυτό :

Πληκτρολογήστε μια σειρά : Αυτό είναι ένα σύντομο sentence.Enter άλλη σειρά : . Αυτή είναι μια πολύ μεγαλύτερη ποινή » . Αυτή είναι μια σύντομη φράση « είναι μεγαλύτερος από ' Αυτό είναι μια πολύ μεγαλύτερη ποινή . »

Παρατηρήστε ότι ο πρώτος χαρακτήρας που δεν ταιριάζει είναι« s »στην πρώτη σειρά και « m » στην δεύτερη σειρά . η τιμή byte του « s »είναι 115 και το byte αξία του «m» είναι 109 , ως εκ τούτου, η πρώτη σειρά είναι μεγαλύτερη .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα