これは素晴らしい場所のようです。私の質問は、この memmove() の実装でどの値 (または何バイト) を移動しているのかということです。
int main ()
{
char str[] = "memmove can be very useful......";
memmove (str+15,str+20,/*?*/);
puts (str);
return 0;
}
次の例では、11 バイトを移動しています。しかし、なぜ 11 バイトなのですか? 誰か説明してくれませんか?
int main ()
{
char str[] = "memmove can be very useful......";
memmove (str+20,str+15,11); //source and destination are reversed
puts (str);
return 0;
}
ありがとう!
編集: ところで、文字列の長さは、終端のヌル文字を含めて 33 です。