一、strcpy实现
char* myStrcpy(char* dst, const char* src){
//assert(dst!=NULL);
//assert(src!=NULL);
if(NULL==dst || NULL==src)
//return NULL;
throw "Invalid argument(s)";
char* head=dst;
while(*dst++=*src++ != '\0')
;
return head;
}
注意点:
1、形参src仅作输入用,应加上const修饰符防止函数内部意外修改src字符串内容
2、该函数原本不需要返回值,但该函数返回char*是为了实现链式操作,如
int length = strlen( strcpy( strDest, “hello world”) );
3、函数内部首先判断指针的有效性,并且不应该下述方法来判断:
if(!dst || !src) 或者 if(!(dst&&src))
因为 (!dst) 是将char *转换为bool即是类型