>> C言語関数一覧トップに戻る
今回はC言語のmemcpy関数について説明します。
memcpy関数は指定バイト数分のメモリをコピーする関数です。
■書式
#include <string.h>
void *memcpy(void *buf1, const void *buf2, size_t n);
第一引数にコピー先のメモリブロックのポインタ
第二引数にコピー元のメモリブロックのポインタ
第三引数はコピーサイズ
をそれぞれ指定します。
■サンプルコード
コピー後のbuf文字列→123DDEFG
上記のコードではmemcpyで3バイト分だけコピーしています。
bufの「ABCDDEFG」という文字列がbuf2の「123456789」から3バイトだけコピーされたので、
先頭のABCが123に書き換わっていることが確認できます。
>> 【C言語 memmove 使い方】に進む
>> C言語関数一覧トップに戻る
C言語 memcpy 使い方
memcpy関数は指定バイト数分のメモリをコピーする関数です。
■書式
#include <string.h>
void *memcpy(void *buf1, const void *buf2, size_t n);
第一引数にコピー先のメモリブロックのポインタ
第二引数にコピー元のメモリブロックのポインタ
第三引数はコピーサイズ
をそれぞれ指定します。
■サンプルコード
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(void) { char buf[] = "ABCDDEFG"; char buf2[] = "123456789"; //3バイトだけコピー memcpy(buf,buf2,3); //表示 printf("コピー後のbuf文字列→%s\n",buf); return 0; }■実行結果
コピー後のbuf文字列→123DDEFG
上記のコードではmemcpyで3バイト分だけコピーしています。
bufの「ABCDDEFG」という文字列がbuf2の「123456789」から3バイトだけコピーされたので、
先頭のABCが123に書き換わっていることが確認できます。
>> 【C言語 memmove 使い方】に進む
>> C言語関数一覧トップに戻る