memcpy() — コピー・バイト
形式
#include <string.h>
void *memcpy(void *dest, const void *src, size_t count);言語レベル
ANSI
スレッド・セーフ
はい
説明
memcpy() 関数は、 count バイトの src を destにコピーします。 オーバーラップしたオブジェクト間でコピーが行われる場合には、振る舞いは予期できません。 memmove() 関数は、オーバーラップする可能性があるオブジェクト間でのコピーを可能にします。
戻り値
memcpy() 関数は、 destへのポインターを戻します。
例
この例では、source のコンテンツを target へコピーします。
#include <string.h>
#include <stdio.h>
#define MAX_LEN 80
char source[ MAX_LEN ] = "This is the source string";
char target[ MAX_LEN ] = "This is the target string";
int main(void)
{
printf( "Before memcpy, target is \"%s\"\n", target );
memcpy( target, source, sizeof(source));
printf( "After memcpy, target becomes \"%s\"\n", target );
}
/********************* Expected output: ************************
Before memcpy, target is "This is the target string"
After memcpy, target becomes "This is the source string"
*/