库函数实现

    xiaoxiao2025-04-19  34

    #include <stdio.h> #include <string.h> #include <assert.h> char *my_strcpy (char *str_des , const char *str_source) {     char *ret = str_des;     assert(str_des);     assert(str_source);     while(*str_des++ = *str_source++)     {         ;     }     return  ret; } int main() {     char str[]="abcdef158";     char arr[20];     my_strcpy(arr,str);     printf("%s\n",arr);     return 0; }

     

    #include <stdio.h> #include <string.h> #include <assert.h> char *my_strcat (char *dest ,const char *src) {     char *ret = dest;     assert(dest);     assert(src);     while(*dest)     {         dest++;     }     while(*dest++ = *src++)     {         ;     }     return  ret; } int main() {     char str[]="abcdef158";     char arr[20]="9981";     my_strcat(arr,str);     printf("%s\n",arr);     return 0; }

     

    #include <stdio.h> #include <string.h>   int my_strcmp (char *dest ,char *src) {     int ret;     while(!(ret = *(unsigned char *)dest -*(unsigned char *)src))     {             dest++;             src++;     }     if(ret > 0)     {         return 1;     }else if(ret < 0)     {         return -1;     }else     {         return 0;     } } int main() {     int x;     int y;     char str[]=" ";     char arr[]="abc";     x = my_strcmp(str,arr);     y = strcmp(str,arr);     printf("my_strcmp = %d\n",x);     printf("strcmp = %d\n",y);     return 0; }

     

    #include <stdio.h> #include <string.h> #include <assert.h>   char *my_strstr (const char *src ,const char *dest) {     const char *str1 = src;     const char *str2 = dest;     char *ret = NULL;     assert(dest);     assert(src);     if(*dest=='\0')         return NULL;     while(*str1)     {         ret = str1;         while(*str2)         {             if(*str1 && *str2 && (*str1 == *str2))             {                 str1++;                 str2++;             }             else             {                 break;             }           }         if(*str2 == '\0')         {             return ret;         }         str1++;     }    return NULL; } int main() {     char str[]="1234abc886";     char arr[]="abc";     char *ps = NULL;     char *pp = NULL;     ps = my_strstr(str,arr);     pp = strstr(str,arr);     printf("%s\n",pp);     if(ps)     {         printf("find:%s\n",ps);     }     else     {         printf("no find\n");     }     return 0; }

    最新回复(0)