//memcpy实现:推荐 strcpy是最常考的面试题之一了
char* _strcpy(char* dst,const char* src)
{
if ( NULL==dst||NULL==src)
return NULL;
memcpy(dst,src,strlen(src)+1);
return dst;
}
//流行方法
char* _strcpy(char* dst,const char* src)
{
if ( NULL==src||NULL==dst )
return NULL;
char* ret=dst;
while((*dst++=*src++)!='\0')
{}
return ret;
}
//变体,需要自己申请内存,百度面到了
char* _strcpy(const char* str)
{
if(NULL==str)
return NULL;
int len=strlen(str);
char* ret=(char*)malloc(len+1);//+1 很重要
if(NULL==ret)//内存没有申请成功的情况,一般在系统内存用光的情况
return NULL;
memcpy(ret,str,len);
return ret;
}C&C++常见面试题之strcpy
最新推荐文章于 2024-04-04 13:32:05 发布
本文深入探讨了C语言中字符串复制函数memcpy和strncpy的实现原理,包括它们的区别、优缺点及使用场景。特别介绍了自定义实现memcpy函数的方法,并与标准库函数进行了对比分析,旨在帮助开发者更高效地进行字符串操作。
5063

被折叠的 条评论
为什么被折叠?



