Skip to content

Latest commit

 

History

History
68 lines (47 loc) · 1.52 KB

File metadata and controls

68 lines (47 loc) · 1.52 KB

memcpy

  • cstring[meta header]
  • std[meta namespace]
  • function[meta id-type]
namespace std {
  void* memcpy(void* s1, const void* s2, size_t n);
}
  • size_t[link /reference/cstddef/size_t.md]

概要

メモリデータをコピーする。

効果

s2が指すオブジェクトからs1が指すオブジェクトへ、先頭nバイトをコピーする。

コピー元とコピー先の領域が重なっている場合、動作は未定義である。領域が重なりうる場合はmemmoveを使用する。

戻り値

s1を返す。

備考

  • この関数は、フリースタンディング処理系でも使用できる。

#include <cstring>
#include <iostream>

int main()
{
  const char src[] = "hello";
  char dst[6] = {};

  // 終端ヌル文字を含めてコピーする
  std::memcpy(dst, src, sizeof(src));

  std::cout << dst << std::endl;
}
  • std::memcpy[color ff0000]

出力

hello

バージョン

言語

  • C++98

関連項目

  • memmove: メモリデータをコピーする(領域重複可)
  • memccpy: メモリデータを指定した文字が現れるまでコピーする
  • memset: メモリデータを指定した値で埋める

参照