Come utilizzare la funzione memcmp in C ++

January 13

Il C ++ funzione memcmp confronta un determinato numero di byte di due blocchi di memoria. Restituisce 0 se tutti i match e un valore diverso da zero per indicare che il valore è maggiore. I seguenti passi vi aiuterà a utilizzare memcmp.

istruzione

1 Imparare la sintassi di memcmp in C ++. La sintassi completa è int memcmp (const

Puntatore1 vuoto, const pointer2 vuoto, size_t num) ;.

2 Si noti che Puntatore1 e pointer2 sono puntatori a blocchi di memoria. Memcmp parte all'inizio dei blocchi di memoria e confronta i valori di byte fino a trovare una differenza o num bytes sono state confrontate. Se num byte partita, memcmp restituisce zero. Se il primo byte non corrispondenti come char senza segno è maggiore per Puntatore1, memcmp restituisce un numero intero positivo. In caso contrario, restituisce un intero negativo.

3 Capire che il C ++ funzione di memcmp è conservato nella biblioteca CString. Potrebbe essere necessario includere il file di intestazione string.h Per utilizzare questa funzione.

4 Guardate il seguente programma completo per alcuni semplici esempi di come utilizzare memcmp:

includere includere

int main ()
{
char string1 [80];
char stringa2 [80];
int n;
length1 size_t, length2;

printf ( "Inserire una stringa:");
gets (string1);
printf ( "Enter un'altra stringa:");
gets (string2);
length1 = strlen (string1);
length2 = strlen (stringa2);
n = memcmp (stringa1, stringa2, length1> length2 length1: length2?);
if (n> 0)

printf ("'%s' is greater than '%s'.\n",string1,string2);

else if (n <0)

printf ("'%s' is less than '%s'.\n",string1,string2);

altro

printf ("'%s' is the same as '%s'.\n",string1,string2);

return 0;
}

5 Osservare il seguente output per questo programma:

Inserire una stringa: Questa è una breve frase.
Inserisci un'altra stringa: Questa è una frase molto più lungo.
'Si tratta di una breve frase.' è maggiore di 'Questa è una frase molto più lungo.'

Si noti che il primo carattere non-matching è 's' nella prima stringa e 'M' nella seconda stringa. Il valore di byte di 's' è 115 e il valore di byte di 'm' è 109, quindi la prima stringa è maggiore.