Memcmp () -funksjonen i C ++ sammenligner et spesifisert antall tegn til to pekerobjekter
memcmp () prototype
int memcmp (const void * lhs, const void * rhs, size_t count);
Den memcmp()
funksjonen tar tre argumenter: LHS, rhs og teller. Denne funksjonen tolker først objektene som lhs og rhs peker på som matriser av unsigned char
. Deretter sammenlignes de første telletegnene til lhs og rhs leksikografisk.
Den er definert i topptekstfil "> topptekstfil.
memcmp () Parametere
lhs and rhs
: Peker til minneobjektene for å sammenligne.count
: Maksimalt antall byte å sammenligne.
memcmp () Returverdi
Memcmp () -funksjonen returnerer a:
- positiv verdi hvis den første forskjellige byten i
lhs
er større enn den tilsvarende byten irhs
. - negativ verdi hvis den første forskjellige byten i
lhs
er mindre enn den tilsvarende byten irhs
. - 0 hvis det første antallet byte av
lhs
ogrhs
er like.
Eksempel: Hvordan memcmp () fungerer
#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() = "Hello World!"; char rhs() = "Hello Earth!"; int result; result = memcmp(lhs, rhs, 5); display(lhs, rhs, result, 5); result = memcmp(lhs, rhs, 7); display(lhs, rhs, result, 7); return 0; )
Når du kjører programmet, vil utdataene være:
De første 5 tegnene i Hello World! og Hello Earth! er samme Hello Earth! går Hello World!