Función de biblioteca C - memmove ()

Descripción

La función de la biblioteca C void *memmove(void *str1, const void *str2, size_t n) copias n personajes de str2 a str1, pero para bloques de memoria superpuestos, memmove () es un enfoque más seguro que memcpy ().

Declaración

A continuación se muestra la declaración de la función memmove ().

void *memmove(void *str1, const void *str2, size_t n)

Parámetros

  • str1 - Este es un puntero a la matriz de destino donde se va a copiar el contenido, convertido a un puntero de tipo void *.

  • str2 - Este es un puntero al origen de los datos que se copiarán, convertido a un puntero de tipo void *.

  • n - Este es el número de bytes que se copiarán.

Valor devuelto

Esta función devuelve un puntero al destino, que es str1.

Ejemplo

El siguiente ejemplo muestra el uso de la función memmove ().

#include <stdio.h>
#include <string.h>

int main () {
   char dest[] = "oldstring";
   const char src[]  = "newstring";

   printf("Before memmove dest = %s, src = %s\n", dest, src);
   memmove(dest, src, 9);
   printf("After memmove dest = %s, src = %s\n", dest, src);

   return(0);
}

Compilemos y ejecutemos el programa anterior que producirá el siguiente resultado:

Before memmove dest = oldstring, src = newstring
After memmove dest = newstring, src = newstring