strcpy函数:
char *strcpy(char *strDest, const char *strSrc)
{
assert((NULL != strDest) && (NULL != strSrc));
char *address=strDest;
while((*dest++=*src++) != '/0');
return address;//返回目标串的首地址
}
memcpy函数:
void* memcpy(void *pvTo,void * pvForm,size_t size)
{
assert(pvTo!=NULL&&pvFrom!=NULL);
assert(pbTo>=pvFrom+size||pvFrom>=pvTo+size); //防止内存重叠
byte *pbTo =(byte *)pvTo;
byte *pbFrom =(byte *)pvFrom;
while(size-->0)
*pbTo++=*pbFrom++;
return pvTo;
}
strlen完美版:
int strlen(const char * str)
{
assert(str!=NULL);
int len =0;
while((*str++)!='/0')
len ++;
return len;
}
strcmp函数完美版:
int strcmp(const char *str1, const char *str2)
{
assert((NULL!=str1)&&(NULL!=str2));
while(*str1 && *str2 && (*str1==*str2))
{
str2++;
str1++;
}
return *str2-*str1;
}