Archivo de cabecera:
cadena.HSintaxis:
void *mempcpy (void *dest, const void *src, size_t size)Argumentos:
La función toma 3 argumentos:
Este es un puntero inicial de un bloque de memoria donde el bloque de memoria apunta por SRC (2º argumento) se copiará. El puntero se declara como nulo, por lo que se puede copiar cualquier tipo de bloque de memoria.
Este es un puntero inicial del bloque de memoria de origen desde donde se copiará el bloque de memoria. El puntero se declara como nulo, por lo que se puede copiar cualquier tipo de bloque de memoria.
Este es el tamaño del bloque de memoria en bytes.
El valor de los dos puntero desestimado y SRC Debería ser de tal manera que dos bloques de memoria no se superpongan. El tamaño de los bloques de memoria de fuente y destino debe ser al menos de tamaño (3er argumento) bytes para evitar situaciones superpuestas. Si los dos bloques de memoria se superponen, entonces el comportamiento del memcpy () la función está indefinida. Cuando existe la posibilidad de superponerse, puede usar el Memmove () función de la biblioteca donde la superposición está bien definida. Memmove () la función es más lenta en comparación con memcpy () función.
Debido al valor de tamaño, Si se accede a la fuente o el destino más allá de su longitud del búfer, entonces el comportamiento del memcpy () la función está indefinida.
El memcpy () la función no verifica el personaje '\ 0'.
Valores de retorno:
Esta función devuelve el valor de la dirección de destino desestimado. Como el valor de desestimado ya está disponible, por lo que no necesita almacenar en ninguna variable.
Ejemplos:
//Ejemplo 1.CEn el ejemplo1.c hemos declarado una matriz de dos caracteres SRC y desestimado. El tamaño del SRC es 6 y el desestimado es 13. Primero, copiamos 6 caracteres 'h', 'e', 'l', 'l', 'o', '\ 0' de SRC a desestimado (Línea 11). En la segunda función memcpy () copió 8 caracteres ", 'w', 'o', 'r', 'l', 'd', '!',' \ 0 'al Dest después de 5 caracteres (línea 15). Potencialmente podemos representar esto de la siguiente manera:
// Ejemplo2.CEn el ejemplo2.c hemos declarado dos estructuras estudiante1 y estudiante2 (Línea 15 y 16). Primero, inicializamos Student1 (línea 19, 20, 21). Después de eso, usamos memcpy para copiar datos de estudiante1 a estudiante2.
Conclusión:
En este artículo, hemos aprendido a usar el memcpy función. Hemos visto que esta función se puede usar para cualquier tipo de bloque de memoria, pero esta función tiene algunas limitaciones. Entonces, debes usar esta función con cuidado.