La fonction memmove en C + + copie le nombre spécifié d'octets de données à partir de la source spécifiée vers la destination spécifiée . Cette fonction est appelée un déménagement , car il utilise une mémoire tampon intermédiaire qui permet à la source et de destination pour se chevauchent. Il s'agit d'une copie binaire si le type de données sous-jacente n'est pas pertinent. Les étapes suivantes vous aideront à utiliser la fonction memmove . Instructions
1
savoir la syntaxe de memmove en C + + . La syntaxe complète est void * memmove ( void * destination , const void * source num size_t ) . Notez que cette fonction ne cherche pas un caractère de terminaison nulle et ne vérifie pas déborder. Memmove copie toujours sur num octets et renvoie le tableau de destination.
2
sais que les pointeurs vers les tableaux de Source et de destination sont de type moulé à un type de vide .
3
Comprendre que la fonction C + + memmove est conservé dans la bibliothèque de cstring . Vous devrez peut-être inclure le fichier d'en-tête string.h utiliser memmove
4
Regardez le programme complet ci-dessous pour un exemple simple de la façon d'utiliser memmove avec des tableaux qui se chevauchent: .
# include # include
int main () {char chaine1 [] = " memmove peut être utilisé XXXXX pour déplacer des tableaux qui se chevauchent. " ; memmove ( chaine1 +20, chaine1 +26,27 ) ; printf ( "mot1 :% s \\ n ", chaine1 ) ; chaine1 [47 ] = ' \\ n'; printf (" chaine1 :% s \\ n ", chaine1 ) ; return 0; }
5
Observez le après la sortie de ce programme :
chaine1 : memmove peut être utilisée pour déplacer chevauchement arrays.rrays.string1 : . memmove peut être utilisé pour déplacer des tableaux qui se chevauchent
Notez que les « rrays ». à la fin de la première sortie indique que la copie est faite d'une manière préservant . Le réseau doit être terminé manuellement contrairement strcpy , par exemple.