A função memmove () em C ++ copia bytes de dados especificados da origem para o destino.
protótipo memmove ()
void * memmove (void * dest, const void * src, size_t count);
A memmove()
função recebe três argumentos: dest, src e count. Quando a memmove()
função é chamada, ela copia bytes de contagem do local de memória apontado por src para o local de memória apontado por dest.
A cópia é realizada mesmo se os ponteiros src e dest se sobrepõem. Isso ocorre porque a cópia ocorre como se um buffer intermediário fosse criado, onde os dados são primeiro copiados de src e, finalmente, copiados para dest.
É definido no arquivo de cabeçalho "> arquivo de cabeçalho.
Parâmetros memmove ()
dest
: Ponteiro para o local da memória onde o conteúdo é copiadosrc
: Ponteiro para o local da memória de onde o conteúdo foi copiado.count
: Número de bytes a copiar de src para dest.
memmove () Valor de retorno
A função memmove () retorna dest, o ponteiro para a localização de memória de destino.
Exemplo: como funciona a função memmove ()
#include #include using namespace std; int main() ( int arr(10) = (8,3,11,61,-22,7,-6,2,13,47); int *new_arr = &arr(5); memmove(new_arr,arr,sizeof(int)*5); cout << "After copying" << endl; for (int i=0; i<10; i++) cout << arr(i) << endl; return 0; )
Quando você executa o programa, a saída será:
Depois de copiar 8 3 11 61 -22 8 3 11 61 -22