De C + + memcmp functie vergelijkt een opgegeven aantal bytes van twee blokken van het geheugen . Het geeft 0 terug als ze de hele wedstrijd en een andere waarde dan nul om aan te geven welke waarde groter is . De volgende stappen helpen u memcmp gebruiken . Instructies 1 Leer de syntax van memcmp in C + + . De volledige syntaxis is int memcmp ( const void * pointer1 , const void * pointer2 , size_t num ) ; . Notice 2 dat pointer1 en pointer2 zijn verwijzingen naar blokken van het geheugen . Memcmp begint bij het begin van de geheugenblokken en vergelijkt de byte waarden totdat het verschil of num bytes zijn vergeleken vindt . Als num bytes wedstrijd , memcmp nul terug . Als de eerste niet passende byte als unsigned char groter voor pointer1 , memcmp geeft een positief geheel getal . Anders is het resultaat een negatief geheel getal . 3 Begrijp dat de C + + memcmp functie wordt in het CString bibliotheek bewaard . U kan nodig zijn om het string.h header-bestand bevatten om deze functie te gebruiken Kijk 4 op de volgende volledige programma voor een aantal eenvoudige voorbeelden van hoe memcmp gebruiken : . # Include # include int main ( ) { char string1 [ 80 ] ; char tekenreeks2 [ 80 ] , int n ; size_t length1 , length2 ; printf ( " Geef een string: ' ) ; krijgt ( tekenreeks1 ) ; printf ( " Voer een andere string: " ) ; krijgt ( tekenreeks2 ) ; length1 = strlen ( tekenreeks1 ) ; length2 = strlen ( tekenreeks2 ) ; n = memcmp ( tekenreeks1 , tekenreeks2 , length1 > length2 length1 : ? length2 ) ; if ( n > 0 ) printf ( " ' % s ' is groter dan ' % s ' \\ n ". , string1 , string2 ) ; else if ( nprintf ( " ' % s ' is kleiner dan ' % s ' \\ n . " , string1 , string2 ) ; elseprintf ( " ' % s ' is hetzelfde als ' % s ' \\ n " , string1 , string2 ) ; . return 0 ; } 5 Neem de volgende output voor dit programma : Voer een tekenreeks : dit is een korte sentence.Enter andere string : . ' . dit is een korte zin ' dit is een veel langere straf is groter dan ' dit is een veel langere zin . ' Notice dat de eerste niet-overeenkomende karakter is ' s ' in de eerste reeks en de ' m ' in de tweede snaar . de byte waarde van de ' s ' is 115 en de byte waarde van ' m ' is 109 , dus de eerste snaar is groter .
|