※ ChatGPTを利用し、要約された質問です(原文:memcpy関数について)
memcpy関数の使用方法と注意点
このQ&Aのポイント
memcpy関数を使用して文字列の一部を置換する場合、先頭アドレスを渡さなければならないことに注意が必要です。
ポインタや配列の先頭アドレス以外はmemcpy関数に渡すことができません。
動作停止する場合は、str1の先頭アドレスを正しく指定していない可能性があります。関数を作成することで解決することもできます。
c言語のmemcpy関数についてなのですが、
文字列の一部を置換する場合にmemcpyを使用したいのですが、使用してやってみたところ動作停止します。memcpyは先頭アドレスを渡さないと動作しないのでしょうか。
また、memcpy関数以外でも、ポインタや配列の先頭アドレスしか渡せないのでしょうか?
例えば、
memcpy(str1,str2,5);
ならば、動作しますが、
str1++;
memcpy(str1,str2,4);
では、動作停止しました。
もし、memcpy関数は先頭アドレスじゃないと動作しない場合は関数を作って出来るのですが…。
もし、不足しているもの等あれば、補足で追加するので回答をお願いします。
お礼
回答ありがとうございます!! 動作確認したら動作したのでありがとございました