A função memmove em cópias de C + + o número especificado de bytes de dados da fonte especificado para o destino especificado. Esta função é chamada uma jogada porque usa um tampão intermédio que permite que a fonte de e destino para se sobrepor . Esta é uma cópia do binário para que o tipo de dados subjacente é irrelevante. Os passos seguintes irão ajudá-lo a usar a função memmove . Instruções
1
Aprenda a sintaxe de memmove em C + +. A sintaxe completa é void * memmove (void * destino, const void * fonte , size_t num) ; . Note-se que esta função não procurar um caractere de terminação nula e não verifica se há excesso. Memmove sempre copia bytes num e retorna a matriz de destino.
2
Saibam que os ponteiros para a origem eo destino são matrizes elenco do tipo para um tipo de vazio .
3
Entenda que a função C + + memmove é mantido na biblioteca cstring . Pode ser necessário incluir o arquivo de cabeçalho string.h usar memmove
4
Olhe para o seguinte programa completo para um exemplo simples de como usar memmove com matrizes sobrepostas : .
# include # include
int main () {char string1 [] = " memmove pode ser usado para mover XXXXX matrizes sobrepostas. "; memmove ( string1 +20, string1 +26,27 ); printf (" string1 :% s \\ n ", string1 ); string1 [47 ] = '\\ n' ; printf (" string1 :% s \\ n ", string1 ); return 0; }
5
Observe a seguinte resultado para este programa :
string1 : memmove pode ser usado para mover a sobreposição arrays.rrays.string1 : . memmove pode ser usado para mover matrizes sobrepostas
Note-se que os " rrays ". no final do primeiro resultado mostra que a cópia é feita de uma forma de conservação. A matriz tem de ser encerrado manualmente ao contrário strcpy , por exemplo.