English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base du langage C

Contrôle de flux du langage C

Fonctions du langage C

Tableaux en langage C

Pointeurs en langage C

Chains de caractères en langage C

Structure de langage C

Fichier de langage C

Autres C

Manuel de référence du langage C

Utilisation et exemple de la fonction memmove() de la bibliothèque C

Bibliothèque standard C - <string.h>

Fonction de bibliothèque C void *memmove(void *str1, const void *str2, size_t n) de str2 copier n de caractères vers str1Cependant, en ce qui concerne les blocs de mémoire superposés, memmove() est une méthode plus sécurisée que memcpy(). Si la zone cible et la zone source ont des parties superposées, memmove() garantit que les octets de la zone superposée sont copiés dans la zone cible avant que la chaîne source ne soit couverte, et le contenu de la zone source est modifié après la copie. Si la zone cible et la zone source ne se superposent pas, la fonction fonctionne de la même maniè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 -- Pointeur vers l'array cible utilisé pour stocker le contenu copié, type forcé en void* pointeur.
  • str2 -- Pointeur vers la source de données à copier, type forcé en void* pointeur.
  • n -- Le nombre d'octets à copier.

Valeur de retour

Cette fonction retourne un pointeur vers la zone de stockage cible str1 du pointeur.

Exemple en ligne

Le exemple suivant montre l'utilisation de la fonction memmove().

#include <stdio.h>
#include <string.h>
int main ()
{
   const char dest[] = "oldstring";
   const char src[]  = "newstring";
   printf("Avant memmove dest = %s, src = %s\n", dest, src);
   memmove(dest, src, 9);
   printf("Après memmove dest = %s, src = %s\n", dest, src);
   return(0);
}

Laissez-nous compiler et exécuter le programme ci-dessus, ce qui produira le résultat suivant :

Avant memmove dest = oldstring, src = newstring
Avant memmove dest = newstring, src = newstring

Bibliothèque standard C - <string.h>