Funkcje biblioteczne C - memmove ()
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