La funzione memcmp () in C ++ confronta un numero specificato di caratteri di due oggetti puntatore
prototipo memcmp ()
int memcmp (const void * lhs, const void * rhs, size_t count);
La memcmp()
funzione accetta tre argomenti: lhs, rhs e count. Questa funzione prima interpreta gli oggetti puntati da lhs e rhs come array di unsigned char
. Quindi confronta lessicograficamente i primi caratteri di conteggio di lhs e rhs.
È definito nel file di intestazione "> file di intestazione.
Parametri memcmp ()
lhs and rhs
: Puntatore agli oggetti di memoria da confrontare.count
: Numero massimo di byte da confrontare.
memcmp () Restituisce il valore
La funzione memcmp () restituisce:
- valore positivo se il primo byte diverso in
lhs
è maggiore del byte corrispondente inrhs
. - valore negativo se il primo byte diverso in
lhs
è minore del byte corrispondente inrhs
. - 0 se i primi byte di conteggio di
lhs
erhs
sono uguali.
Esempio: come funziona la funzione memcmp ()
#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; )
Quando esegui il programma, l'output sarà:
I primi 5 personaggi di Hello World! e Hello Earth! sono gli stessi Hello Earth! precede Hello World!