The C + + memcmp funktionen sammenligner et bestemt antal bytes af to blokke af hukommelse. Den returnerer 0, hvis de hele kampen og et nul værdi for at angive, hvilken værdi er større . De følgende trin vil hjælpe dig bruge memcmp . Instruktioner
1
Lær syntaksen i memcmp i C + + . Den komplette syntaks er int memcmp ( const void * pointer1 , const void * pointer2 , size_t num ) .
2
Bemærk at pointer1 og pointer2 er henvisninger til blokke af hukommelse. Memcmp starter i begyndelsen af hukommelse blokke og sammenligner byteværdier indtil den finder en forskel eller num bytes er blevet sammenlignet . Hvis num bytes match, returnerer memcmp nul. Hvis den første ikke- matchende byte som en unsigned char er større for pointer1 , memcmp returnerer et positivt heltal. Ellers returnerer en negativ heltal.
3
Forstå, at C + + memcmp funktionen holdes i CString biblioteket. Du kan være nødt til også at omfatte string.h headerfilen at bruge denne funktion
4
kig på følgende komplette program for nogle enkle eksempler på, hvordan man bruger memcmp : .
# Include # include
int main () { char streng1 [80 ], char streng2 [80 ] int n , size_t length1 , Længde2 ,
printf ("Indtast en streng :"); får ( streng1 ) printf ("Indtast en anden streng :"); får ( streng2 ) length1 = strlen ( streng1 ) Længde2 = strlen ( streng2 ) n = memcmp ( streng1 , streng2 , length1 > Længde2 length1 : ? Længde2 ) ; if ( n> 0) printf (" '% s' er større end '% s' \\ n ". , streng1 , streng2 ) else if ( nprintf ( " '% s' er mindre end '% s' \\ n . " streng1 , streng2 ), elseprintf ( " '% s' er det samme som '% s' \\ n " , streng1 , streng2 ) .
tilbagevenden 0 ;}
5 < p> Vær opmærksom på følgende output for dette program : Hej
Indtast en streng : dette er en kort sentence.Enter anden streng : '. . dette er en kort sætning ' Dette er en meget længere sætning er større end »Dette er en meget længere straf. '
Bemærk at den første ikke- matchende karakter er »s« i den første streng og » m « i anden streng. den byteværdi af' s 'er 115 og byte værdien af ' m' er 109 , derfor den første streng er større .