Fonction de bibliothèque C - memmove ()

La description

La fonction de bibliothèque C void *memmove(void *str1, const void *str2, size_t n) copies n caractères de str2 à str1, mais pour les blocs de mémoire qui se chevauchent, memmove () est une approche plus sûre que memcpy ().

Déclaration

Voici la déclaration de la fonction memmove ().

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

Paramètres

  • str1 - Il s'agit d'un pointeur vers le tableau de destination où le contenu doit être copié, converti en un pointeur de type void *.

  • str2 - Il s'agit d'un pointeur vers la source des données à copier, transtypé en un pointeur de type void *.

  • n - C'est le nombre d'octets à copier.

Valeur de retour

Cette fonction renvoie un pointeur vers la destination, qui est str1.

Exemple

L'exemple suivant montre l'utilisation de la fonction 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);
}

Compilons et exécutons le programme ci-dessus qui produira le résultat suivant -

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