memcpy関数のC++での使い方は?

memcpyはメモリ領域内のあるデータセクションの内容を別のメモリ領域にコピーするためのC/C++標準ライブラリ関数です。

その関数のプロトタイプは次のとおりです。

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

パラメータの説明:

  1. dest:複製後のデータの格納先を指す、ターゲットのメモリ領域のポインタ
  2. ソースから、つまり、コピーされるデータの位置にある、メモリ領域へのポインタ
  3. count:コピーするバイト数、つまりコピーが必要なデータの長さ。

指定されたメモリー領域srcの内容を、カウントcountバイトだけ指定されたメモリー領域destにコピーする関数。ソースとターゲットの領域にオーバーラップ(重なり合い)が存在する場合、memcpy関数は安全ではなく、未定義の動作を引き起こす可能性があります。この場合、memmove関数を使用する必要があります。

戻り値: dest を指すポインタを返します。

この例では、パラフレーズする必要はありません。

#include <iostream>
#include <cstring>

int main() {
    char source[] = "Hello, World!";
    char destination[50];

    std::memcpy(destination, source, std::strlen(source) + 1);

    std::cout << "Copied string: " << destination << std::endl;

    return 0;
}

上記のコードは与えられた文字列 “Hello, World!” をターゲット配列 destination にコピーし、コピーした文字列分を出力します。

bannerAds