1.strcpy
char* strcpy(char* strDest ,const char* strSrc)
{
//实现链式操作,将目的地址返回
assert((strDest != NULL) && (strSrc != NULL));
char* address = strDest; while((*strDest++ = *strSrc++) != '\0');
return address;
}
这个函数实现链式操作,将目的地址返回。
还有几个不太规范的实现函数,如下:
void strcpy(char* strDest , char* strSrc)
{
while((*strDest++ = *strSrc++) !='\0') ;
}
void strcpy(char* strDest , const char* strSrc)
{
//源字符串加const,表明其为输入参数
while((*strDest++ = *strSrc++) !='\0') ;
}
void strcpy(char* strDest , const char* strSrc)
{
//对源地址和目的地址加非0断言
assert((strDest != NULL) && (strSrc != NULL)) ;
while((*strDest++ = *strSrc++) !='\0') ;
}
2.strlen函数
int strlen(const char* str) { assert(str != NULL) ; int len ; while(*str++ != '\0') { len++ ; } return len ;