memmove

[機能]

  バッファの先頭から,指定されたバイト数を,他のバッファにコピーします.コピー元とコピー先の領域が一部重なっている場合は,重なっている部分のコピー元の内容をコピーします.コピー先のバッファアドレスを返します.

[形式]
	#include <memory.h>
	#include <string.h>

	void *memmove(void *dest, const void *src, size_t count)
		dest  : コピー先へのポインタ
		src   : コピー元へのポインタ
		count : コピーする文字数
		
[使用例]

  1. バッファの先頭から 5 文字を,そのバッファの 3 文字目以降にコピーします
    #include <stdio.h>
    #include <memory.h>
    #include <string.h>
    
    int main()
    {
    	char *str = "abcdefghij";
    	char str1[11];
    
    	memcpy(str1, str, 10);
    	str1[10] = '\0';
    	printf("str1は %s\n", str1);
    
    	memmove((void *)&(str1[2]), str1, 5);
    	printf("str1は %s\n", str1);
    
    	return 0;
    }
    			
    (出力)
    str1は abcdefghij
    str1は ababcdehij
    			
[参照]

memchr, memcmp, memccpy, memset, memcpy

菅沼ホーム 本文目次 演習問題解答例 付録目次 索引