次の方法で共有


memcpy、wmemcpy

更新 : 2007 年 11 月

バッファ間でバイト数をコピーします。これらの関数のセキュリティを強化したバージョンについては、「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、wcscpy、_mbscpy

strncpy、_strncpy_l、wcsncpy、_wcsncpy_l、_mbsncpy、_mbsncpy_l