实现单参数strcpy,是你会怎么做?
auto_ptr<char*> strcpy1(char *s)
{
char *d=new char[(strlen(s)+1)];
char *m=d;
while((*d++=*s++)!='\0');
auto_ptr<char*> ptr(m);
cout<<"in strcpy1 "<<m<<endl;
return ptr;
}
int main(void)
{
char s[]="HEllo";
char **d;
d=strcpy1(s).get();
cout<<*d;
return 0;
}
错在哪该如何解决?有一个笔试题要求完成单参数的拷贝函数!如果是直接返回一个char*类型那么在用完这个函数后得delete
一般可能会忘记做delete,如果用auto_ptr好像又出问题,各位大侠指点一下!
...全文
相关推荐
自己实现strcpy函数的实现方法
《自己实现strcpy函数的探索与理解》在C++编程中,`strcpy`函数是用于复制字符串的一个常用函数,它存在于标准库`<string.h>`中。
C++中strcpy函数的实现
= '\0'); return strDest;}```在这个实现中,首先检查了输入参数`strDest`和`strSrc`是否为`NULL`,确保它们都是有效的指针。
strcpy等函数实现
本文将探讨C语言中的几个字符串处理函数:strcpy、strcmp、strlen和strcat的实现原理和使用方法。这些函数是C语言标准库中的关键组成部分,用于处理和操作字符数组,即字符串。1.
strcpy函数实现简示例命分享
**函数原型**`strcpy`函数的原型定义在`string.h`头文件中:```cchar *strcpy(char *dest, const char *src);```这里,`dest`参数是目标字符串的指针
strstr和strcpy函数实现
#### 四、strcpy函数的简单实现下面是一个简单的`strcpy`函数实现示例:```c#include <stdio.h>#include <string.h>char *my_strcpy(char


