Memcmp () -funktionen i C ++ jämför ett specificerat antal tecken för två pekarobjekt
memcmp () prototyp
int memcmp (const void * lhs, const void * rhs, size_t count);
Den memcmp()
funktionen tar tre argument: LHS, RHS och räkna. Denna funktion tolkar först objekten som pekas upp av lhs och rhs som arrays av unsigned char
. Sedan jämförs de första räknarna i lhs och rhs lexikografiskt.
Det definieras i rubrikfil "> rubrikfil.
memcmp () Parametrar
lhs and rhs
: Pekare till minnesobjekten att jämföra.count
: Maximalt antal byte att jämföra.
memcmp () Returvärde
Funktionen memcmp () returnerar a:
- positivt värde om den första olika byten in
lhs
är större än motsvarande byte irhs
. - negativt värde om den första byten i
lhs
är mindre än motsvarande byte irhs
. - 0 om det första antalet byte av
lhs
ochrhs
är lika.
Exempel: Hur memcmp () fungerar
#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 kör programmet blir resultatet:
De första 5 karaktärerna i Hello World! och Hello Earth! är samma Hello Earth! föregår Hello World!