The C + + memcmp funksjon sammenligner et angitt antall byte med to blokker av minnet. Den returnerer 0 hvis de heile kampen , og en annen verdi enn null for å indikere hvilken verdi som er størst. Følgende trinn vil hjelpe deg å bruke memcmp . Instruksjoner
en
Lær syntaksen til memcmp i C + + . Den komplette syntaksen er int memcmp ( const void * pointer1 , const void * pointer2 , size_t num ); .
2
merke til at pointer1 og pointer2 er pekere til blokker av minnet. Memcmp starter i begynnelsen av minneblokker og sammenligner byte verdiene til den finner en forskjell eller num bytes har blitt sammenlignet . Hvis num bytes kamp , returnerer memcmp null. Hvis den første ikke -matchende byte som et usignert røye er større for pointer1 , returnerer memcmp et positivt heltall . Ellers returneres et negativt heltall .
3
Forstå at C + + memcmp funksjonen er holdt i CString biblioteket. Du må kanskje inkludere string.h header-fil for å bruke denne funksjonen
4
titt på følgende komplett program for noen enkle eksempler på hvordan du bruker memcmp : .
# Include # include
int main ( ) { char streng1 [ 80 ]; røye string2 [ 80 ]; int n; size_t length1 , lengde2 ;
printf ("Skriv inn en streng: "); får ( streng1 ) ; printf ("Skriv inn en annen streng : "); gets ( string2 ) ; length1 = strlen ( streng1 ) ; lengde2 = strlen ( string2 ) , n = memcmp ( streng1 , string2 , length1 > lengde2 length1 : ? lengde2 ); if ( n > 0 ) printf ( " '% s' er større enn '% s' \\ n ". , streng1 , streng2 ) ; else if ( nprintf ( " '% s' er mindre enn '% s' \\ n . " streng1 , streng2 ); elseprintf ( " '% s' er det samme som '% s ' \\ n " , streng1 , streng2 ) ; .
return 0 ;}
5 < p> Vær oppmerksom på følgende utdata for dette programmet : en
Skriv inn en streng: dette er en kort sentence.Enter annen streng : . ' . dette er en kort setning " dette er en mye lengre setning er større enn ' Dette er en mye lengre setning. '
Legg merke til at den første ikke -matchende karakter er ' s ' i den første strengen og ' m ' i den andre strengen . byte Verdien av ' s ' er 115 og byte verdien av ' m' er 109 , dermed den første strengen er større .