このエントリーをはてなブックマークに追加


メモリ内容をコピーする・memcpy

元データとなる指定したメモリ番地からコピー先の指定したメモリ番地へ内容をコピーするmemcpy関数のC言語サンプルソースを以下に記します。


スポンサーリンク

関連記事

memcpyの書式等

  • 必要なインクルードファイル
    #include <string.h>
  • memsetの書式
    void *memcpy(void *dest, const void *src, size_t n);
  • 戻り値
    なし
  • 引数
    1つ目: コピー先の番地(バッファのポインタになると思います。)
    2つ目: コピー元の番地
    3つ目: コピーするサイズ

memcpyを使用したC言語サンプルコード

以下にmemcpyを使用してバッファの複製を作るC言語サンプルコードと実行例を記します。 filememcpy.c (改行コードLF)

#include <stdio.h>
#include <string.h>

#define BUFSIZE 10

int main(void)
{
    int i;
    char src[10];
    char dest[10];

    for(i=0; i<BUFSIZE; i++) {
        src[i] = i;
    }
   
    memcpy(dest, src, BUFSIZE);

    for(i=0; i<BUFSIZE; i++) {
        printf("src[%d] = %d, dest[%d] = %d \n", i, src[i], i, dest[i]);
    }

    return 0;
}

上記のmemcpyサンプルコードのコンパイルと実行結果を記します。

$ gcc memcpy.c -o memcpy
$ ./memcpy 
src[0] = 0, dest[0] = 0 
src[1] = 1, dest[1] = 1 
src[2] = 2, dest[2] = 2 
src[3] = 3, dest[3] = 3 
src[4] = 4, dest[4] = 4 
src[5] = 5, dest[5] = 5 
src[6] = 6, dest[6] = 6 
src[7] = 7, dest[7] = 7 
src[8] = 8, dest[8] = 8 
src[9] = 9, dest[9] = 9 

以上、memcpyのC言語サンプルコードと実行例でした。


スポンサーリンク

添付ファイル: filememcpy.c 630件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 21:01:00