Latest web development tutorials

funzioni di libreria C - memmove ()

C libreria standard - <string.h> C libreria standard - <string.h>

descrizione

C funzioni di libreriavoid * memmove (void * str1, const void * str2, size_t n) Le copie ncaratteri dastr2astr1,ma sovrapposte blocco di memoria a questo proposito, memmove () di memcpy () il metodo più sicuro. Se l'area di destinazione e l'area di sovrapposizione fonte, quindi, memmove () per assicurare che la stringa sorgente prima è coperto con regioni sovrapposte byte copiati l'area di destinazione, il contenuto dell'area sorgente copiato verrà cambiata. Se l'area di destinazione e l'area di origine non si sovrappone, la funzione e memcpy () è la stessa funzione.

dichiarazione

Ecco memmove () la dichiarazione della funzione.

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

parametri

  • str1 - punto alla matrice di destinazione per la memorizzazione dei contenuti copiati, cast di tipo di annullare puntatori *.
  • str2 - indicando copiare il codice sorgente di dati, il tipo di getto di annullare puntatori *.
  • n - ilnumero di byte da copiare.

Valore di ritorno

Questa funzione restituisce un puntatore al negozio di destinazione puntatore str1.

Esempi

L'esempio seguente mostra memmove (viene utilizzata la funzione).

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

int main ()
{
   const 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);
}

Facciamo compilare ed eseguire il programma di cui sopra, che si tradurrà in quanto segue:

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

C libreria standard - <string.h> C libreria standard - <string.h>