次の方法で共有


memcpy、wmemcpy

バッファー間でバイト数をコピーします。これらの関数のセキュリティを強化したバージョンについては、「memcpy_s、wmemcpy_s」を参照してください。

void *memcpy(
   void *dest,
   const void *src,
   size_t count 
);
wchar_t *wmemcpy(
   wchar_t *dest,
   const wchar_t *src,
   size_t count
);

パラメーター

  • dest
    コピー先のバッファー。

  • src
    コピー元のバッファー。

  • count
    コピーする文字数。

戻り値

dest の値。

解説

memcpy は、count に指定したバイト数を src から dest にコピーします。wmemcpy は、count に指定した数のワイド文字 (2 バイト) をコピーします。コピー元とコピー先を同じにした場合の memcpy の動作は未定義です。重なり合う領域を処理するには、memmove を使用します。

セキュリティに関するメモ   コピー先のバッファーのサイズがコピー元のバッファーのサイズ以上であることを確認してください。詳細については、「Avoiding Buffer Overruns」を参照してください。

次の例のように、memcpy 関数および wmemcpy 関数が使用されなくなるように定数 _CRT_SECURE_DEPRECATE_MEMORY をインクルード ステートメントの前で定義すると、これらの関数だけが使用されなくなります。

#define _CRT_SECURE_DEPRECATE_MEMORY
#include <memory.h>

または

#define _CRT_SECURE_DEPRECATE_MEMORY
#include <wchar.h>

必要条件

ルーチン

必須ヘッダー

memcpy

<memory.h> または <string.h>

wmemcpy

<wchar.h>

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

使用例

memcpy 関数の使用例については、「memmove」を参照してください。

参照

関連項目

バッファー操作

_memccpy

memchr、wmemchr

memcmp、wmemcmp

memmove、wmemmove

memset、wmemset

strcpy_s、wcscpy_s、_mbscpy_s

strncpy_s、_strncpy_s_l、wcsncpy_s、_wcsncpy_s_l、_mbsncpy_s、_mbsncpy_s_l