C++中strcpy函数定义在string.h库中,其标准形式如下:
char *strcpy(char *dest, const char *src);
可以实现如下:
char *strcpy(char *dest, const char *src)
{assert(dest != NULL && src != NULL); //对参数合法性进行判断char * pdest = dest; //记录目标串的开始位置while((*pdest++ = *src++) != '\0'); //逐个复制字符return dest;
}
在写该函数的时候有点最容易被忽略的地方是对指针参数的合法性检查,从而造成函数功能的脆弱。
另一个容易被忽略的地方时src指向的内容在函数中是不能被修改的,因此其传递的参数必须加上const来修饰。