char *strcpy(char *strDest, const char *strSrc)
{
if (strDest == NULL || strSrc == NULL)
return NULL;
if (strDest == strSrc)
return strDest;
char *tempDest = strDest;
while((*strDest++ = *strSrc++) != '\0');
return tempDest;
}
strcpy的函数声明:
char *strcpy(char *strDest, const char *strSrc)
1. 为了保护原字符串不被修改,传入的原字符串用 const 修饰
2. 注意检查字符串的指针是否有效,在C中,检查字符串是否有效是判定指针是否等于NULL,而不是0 或者BOOL值
if (strDest == NULL || strSrc == NULL)
3. 注意while循环,使用后自增
4. 注意字符串拷贝的结束标志 '\0', 在while循环中,自动将原字符串的字符依次赋值给strDest, while循环结束时已将源字符串的结束标志赋值过去,while循环内部是空操作
5. 为了适应链式表达式,该函数返回 char * 类型