string系列
char* strcpy( char *strDest, const char *strSrc )
{
assert((strDest != NULL) && (strSrc != NULL) );
char *address = strDest;
while((*strDest++ = * strSrc++) != ‘\0’ );
return address;
}
char*strncpy(char* strdest, const char* strsrc, int n)
{
assert((strdest != NULL) && (strsrc != NULL));
char* address = strdest;
while(n-- > 0)
*strdest++ = *strsrc++;
return address;
}
int strcmp(const char* str1, const char* str2)
{
assert((str1 != NULL) && (str2 != NULL);
int ret = 0;
while (!(ret = (unsigned char*)*str1 - (unsigned char*)*str2)&& (*str2))
{
str1++;
str2++;
}
if (ret > 0)
ret = 1;
else if (ret < 0)
ret = -1;
return ret;
}
int strlen(const char* str)
{
assert(str != NULL);
int len = 0;
while ('\0' != *str++)
len++;
return len;
}