皆さん、これは の実装ですがmemset()
、コードに論理的な誤りが 1 つあります。見つけるのを手伝ってくれませんか。
ターゲット文字列のダブルポインターをこの関数に渡す必要があると思います。これは、ポインター自体ではなく、ポインター変数のアドレスを渡すようなものです。
MS VC++ IDE でコードを実行すると、「アクセス違反」が発生します。
「C」ライブラリ関数 memset の定義は次のとおりです。
void *memset(char *s, char c, size_t n)
Copy c to the first n characters of s. Return s.
void *memset(char *s, char c, size_t n)
{
size_t i;
for (i = 0; i < n; i++, s++)
{
*s = c;
}
return s;
}