对于C标准库中的字符串处理函数应该平常用的比较多;简单实现strcat和strcmp
_strcpy:
char *_strcpy(char *dest, char *src)
{
char *buf = dest;
while((*dest++ = *src++))
;
return buf;
}
_strcmp:
int _strcmp(char *str1, char *str2)
{
if(str1 == NULL || str2 == NULL)
return -;
while(*str1 == *str2)
{
if(*str1 == '\0') // *str1 == 0
return ;
str1++;
str2++;
}
return *str1 - *str2;
}
_strlen:
int _strlen(char *str)
{
int i= ;
while(*str)
{
i++;
str++;
}
return i;
}
_strcat:
char *_strcat(char *dest, char *src)
{
if(sizeof(dest) - _strlen(dest) < _strlen(src))
{
printf("!!alert : not enough space of dest for src !\n");
return dest;
}
char *buf = dest;
while(*dest)
dest++;
_strcpy(dest, src);
return buf;
}
Source Code : https://github.com/huaixzk/_strs.so