私は常に自分の機能を実行する必要があります。標準ライブラリを使用できません。
ここに My_cpy 、 my_len 、 my_strdup 関数があります。私のためにそれをチェックしてください。簡単だと思いますが、この機能に問題があります。ページの最後にエラーを表示しました。明らかだと思います。さらに、これはC ++です
どうもありがとう。
コード:
void my_cpy(char* dest, const char* src) {
int i = 0;
while (src[i] != '\0') {
dest[i] = src[i];
i++;
}
dest[i] = '\0';
}
int my_len(const char* p) {
int c = 0;
while (*p != '\0')
{
c++;
*p++;
}
return c;
}
char *my_strdup(const char *s) {
char* d = malloc(my_len(s) + 1); // Space for length + null
if (d == NULL) return NULL; //No memory
my_cpy(d, s); // Copy the characters
return d; // Return the new string
}
この関数にエラーがあります。どうすればこの問題を解決できますか?
エラー (アクティブ) 型 "void *" の値を使用して、型 "char *" のエンティティを初期化することはできません
`Error C2440 'initializing': cannot convert from 'void *' to 'char *'`
私はそれを書きました:
char* d = (char*) malloc(my_len(s) + 1)
しかし、今は p の問題です。常に NULL です。