Memcmp () -funktionen i C ++ sammenligner et specificeret antal tegn i to markørobjekter
memcmp () prototype
int memcmp (const void * lhs, const void * rhs, size_t count);
Den memcmp()
funktion har tre argumenter: LHS, ha og tæller. Denne funktion fortolker først de objekter, som lhs og rhs peger på som arrays af unsigned char
. Derefter sammenlignes den første optælling af lhs og rhs leksikografisk.
Det er defineret i header-fil "> header-fil.
memcmp () Parametre
lhs and rhs
: Markør til hukommelsesobjekterne, der skal sammenlignes.count
: Maksimalt antal bytes, der skal sammenlignes.
memcmp () Returværdi
Funktionen memcmp () returnerer en:
- positiv værdi, hvis den første forskellige byte i
lhs
er større end den tilsvarende byte irhs
. - negativ værdi, hvis den første forskellige byte i
lhs
er mindre end den tilsvarende byte irhs
. - 0, hvis det første antal byte af
lhs
ogrhs
er ens.
Eksempel: Sådan fungerer memcmp () -funktionen
#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ører programmet, vil output være:
De første 5 tegn i Hello World! og Hello Earth! er de samme Hello Earth! går forud for Hello World!