int strlen(const char *str)
{
int len=0;
if(str==NULL)
return 0;
while((*str++) != '\0')
len++;
return len;
}
或者
int strlen(const char *str)
{
if(*str!='\0')
return 1+strlen(++s);
else
return 0;
}
char *strcpy(char *dst,const char *src)
{
assert(dst != NULL && src != NULL);
char *address = dst;
while((*dst++=*src++)!='\0');
return address;
}
char *memcpy(char *dst, const char *src, int cnt)
{
assert(dst != NULL && src != NULL);
char *address = dst;
if (dst >= src && dst <= src+cnt-1)
{
dst = dst+cnt-1;
src = src+cnt-1;
while (cnt--)
*dst-- = *src--;
}
else
{
while (cnt--)
*dst++ = *src++;
}
return address;
}
bool strcmp(const char* src, const char* dst)
{
assert((src!=NULL)&&(dst!=NULL));
while(*src==*dst)
{
if(*src=='\0')
return true;
src++;
dst++;
}
return false;
}