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.
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.