Latest web development tutorials

Funkcje biblioteczne C - memmove ()

Biblioteka standardowa języka C - <string.h> Biblioteka standardowa języka C - <string.h>

opis

Funkcje biblioteki Cvoid * memmove (void * str1, const void * STR2, size_t n) Kopie nznaków zsłowo2dostr1,ale nakładających blok pamięci w tym względzie memmove () niż memcpy (), bardziej bezpieczne metody. Jeśli obszar docelowy i źródłowy obszar pokrywają zatem memmove (), aby upewnić się, że ciąg źródłowy zanim zostanie pokryta nakładających się regionów bajtów skopiowanych do obszaru docelowego, zawartość kopiowanego obszaru źródłowego zostaną zmienione. Jeśli obszar docelowy, a obszar źródła nie pokrywają się, funkcja i memcpy () to te same funkcje.

oświadczenie

Oto memmove () deklaracja funkcji.

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

parametry

  • str1 - punkt na tablicy docelowej do przechowywania skopiowane treści, typu oddanych do void * wskaźniki.
  • słowo2 - wskazując skopiować źródło danych wpisz obsady do void * wskaźniki.
  • n - liczba bajtów do skopiowania.

Wartość zwracana

Funkcja ta zwraca wskaźnik do magazynu docelowego STR1 wskaźnika.

Przykłady

Poniższy przykład demonstruje memmove (funkcja) jest używany.

#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);
}

Załóżmy, skompilować i uruchomić powyższy program, który spowoduje w następujących przypadkach:

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

Biblioteka standardowa języka C - <string.h> Biblioteka standardowa języka C - <string.h>