トップページ > キーワード検索 > memcpy()
C言語規格
C言語(その他)
プログラム
その他
memcpy()
機能 データを指定サイズ分だけコピーする。
ただし、コピー元とコピー先の領域が重なっている場合の動作は不定。
重なっている場合は、memmove関数を用いること。
定義 #include <string.h>

void * memcpy ( void * s1, const void * s2, size_t n );

※C99規格では以下の定義となる
void * memcpy ( void * restrict s1, const void * restrict s2, size_t n );
引数
s1コピー先オブジェクトへのポインタ
s2コピー元オブジェクトへのポインタ
nコピーするバイト数
戻り値 引数s1を返す。
実装例
#include <string.h>
#include <stdio.h>

struct S
{
    int a;
    char b;
};

int main(void)
{
    struct S in = {10, 'a'};
    struct S out;
    
    memcpy(&out, &in, sizeof(struct S));
    
    printf("%d %c\n", out.a, out.b);
    
    return 0;
}
実行結果
10 a





inserted by FC2 system