C++のmemcpy関数の使い方
C++のmemcpy関数は、あるメモリの領域にある内容を別のメモリの領域にコピーするために使用します。memcpy関数の形式は次のとおりです。
void* memcpy(void* dest, const void* src, size_t count);
パラメータの解釈
- 書き込み先の先頭メモリーアドレス。つまり、データをコピーする場所。
- コピーするデータが格納されている、元のメモリの開始アドレス。
- コピーするバイト数。
memcpy関数の戻り値はvoid*型で、宛先メモリの先頭アドレスを指します。
こちらが memcpy 関数の利用例です
#include <iostream>
#include <cstring>
int main() {
char src[] = "Hello, World!";
char dest[20];
std::memcpy(dest, src, sizeof(src));
std::cout << "src: " << src << std::endl;
std::cout << "dest: " << dest << std::endl;
return 0;
}
彼がかつては暴れん坊だったことを教えてください。
src: Hello, World!
dest: Hello, World!
サンプルではまず、ソースメモリsrcを定義し、文字列”Hello, World!”で初期化しています。次に、20バイト長のターゲットメモリdestを定義しています。そして、memcpy関数は、srcの中身をdestへコピーしています。最後に、srcとdestの中身をプリントしていますが、どちらも同じ内容であることがわかります。