El C + + función memcmp compara un número especificado de bytes de dos bloques de memoria . Devuelve 0 si todo lo que encuentro y un valor distinto de cero para indicar que el valor es mayor . Los siguientes pasos le ayudarán a usar memcmp . Instrucciones
1
Aprender la sintaxis de memcmp en C + + . La sintaxis completa es int memcmp (const void * Pointer1 , const void * pointer2 , núm size_t ) .
2
cuenta que Pointer1 y pointer2 son punteros a bloques de memoria . Memcmp comienza al principio de los bloques de memoria y compara los valores de byte hasta que encuentra una diferencia o num bytes se han comparado . Si num bytes partido, memcmp devuelve cero. Si el primer byte no coincidentes como un unsigned char es mayor para Pointer1 , memcmp devuelve un entero positivo. De lo contrario , devuelve un entero negativo .
3
Entender que el C + + función memcmp se conserva en la biblioteca cstring . Puede que tenga que incluir el archivo de cabecera string.h utilizar esta función
4
Mira el siguiente programa completo para algunos ejemplos sencillos de cómo utilizar memcmp : .
# Include # include
int main () {char cadena1 [ 80 ] ; carbón cadena2 [ 80 ], int n ; size_t length1 , length2 ;
printf ("Introduzca una cadena: "); se ( cadena1 ) ; printf ("Introduzca otra cadena :") ; gets ( cadena2 ) ; length1 = strlen ( cadena1 ) ; length2 = strlen ( cadena2 ) ; n = memcmp ( cadena1, cadena2 , length1 > length2 length1 : length2 ) ; if ( n> 0 ) printf ( " '% s ' es mayor que '% s ' \\ n ". , cadena1, cadena2 ) ; else if ( nprintf ( " '% s ' es inferior a '% s ' \\ n . " cadena1, cadena2 ) ; elseprintf ( " '% s ' es lo mismo que ' % s ' \\ n ", cadena1, cadena2 ) .
return 0 ;}
5 < p> Observe la siguiente salida de este programa :
Introduzca una cadena: esta es una breve sentence.Enter otra cadena : . ' . esta es una frase corta " esta es una frase mucho más larga es mayor que ' este es una pena mucho más tiempo. '
Tenga en cuenta que el primer carácter que no encaja, es ' s ' en la primera cadena y' m ' en la segunda cadena. el valor del byte de ' s ' es de 115 y el byte valor de ' m' es de 109 , por lo que la primera cadena es mayor .