//注意,assert只在debug时出现,最好用条件语句判断
//参数:des为目标字符串,src为原字符串。返回值:目标串的地址。
char * strcpy(char *dst,const char *src)
{assert(dst != NULL && src != NULL);
char *ret = dst;
while ((*dst++=*src++)!='\0');
return ret;}
//若str1==str2,则返回零; 若str1<str2,则返回负数; 若str1>str2,则返回正数。
int strcmp(const char *str1,const char *str2)
{while(*str1 == *str2) {
if(*str1 == '\0') {
return 0;}
str1++;
str2++;}
return *str1 - *str2;
}//把strSrc所指字符串添加到strDest结尾处(覆盖strDest结尾处的'\0')。
char* strcat(char* strDest , const char* strSrc)
{
char* address = strDest;
assert( (strDest!=NULL)&&(strSrc!=NULL) );//对源地址和目的地址加非0断言
while(*strDest) {
strDest++;
}
while(*strDest++=*strSrc++) {
NULL;
}
return address;//为了实现链式操作,将目的地址返回
}