对于C标准库中的字符串处理函数应该平常用的比较多;简单实现strcat和strcmp

_strcpy:

1 char *_strcpy(char *dest, char *src)
2 {
3     char *buf = dest;
4     while((*dest++ = *src++))
5         ;
6     return buf;
7 }

 

_strcmp:

 1 int _strcmp(char *str1, char *str2)
 2 {
 3     if(str1 == NULL || str2 == NULL)
 4         return -1;
 5     while(*str1 == *str2)
 6     {
 7         if(*str1 == '\0')  // *str1 == 0
 8             return 0;
 9         str1++;
10         str2++;
11     }
12     return *str1 - *str2;
13 }

_strlen:

 1 int _strlen(char *str)
 2 {
 3     int i= 0;
 4     while(*str)
 5     {
 6         i++;
 7         str++;
 8     }
 9     return i;
10 }

_strcat:

 1 char *_strcat(char *dest, char *src)
 2 {
 3     if(sizeof(dest) - _strlen(dest) < _strlen(src))
 4     {
 5         printf("!!alert : not enough space of dest for src !\n");
 6         return dest;
 7     }
 8     char *buf = dest;
 9     while(*dest)
10         dest++;
11     _strcpy(dest, src);
12     return buf;
13 }

 

Source Code : https://github.com/huaixzk/_strs.so

 

 posted on 2014-07-24 01:44  huaixiaoz  阅读(398)  评论(0编辑  收藏  举报