私は C に取り組んでおり、文字列連結関数を実装したいと考えています。次の機能を実装しました。
void mystr_concat(char* dest, char* src)
{
char* temp = dest;
while(*temp)
{
temp++;
}
while(*src)
{
*temp++ = *src;
src++;
}
*temp = '\0';
return;
}
上記のプログラムの出力は、「src」文字列を「dest」文字列に追加することです。
ユーザーが長さが短い「dest」文字列を渡した場合、「src」文字列を追加できなくなります。
たとえば、ユーザーはこの文字列と呼び出された関数を持っています
char dest[6] = "abcnd";
char src[100] = "zdfhjksdfskdfsdfsdfj";
mystr_concat(dest, src)
この場合、上記の発生条件と、この問題を解決するために必要な解決策を確認するにはどうすればよいですか?