zoukankan      html  css  js  c++  java
  • 56. (待更新)自实现库函数 mystrlen, mystrcpy, mystrcat, mystrcmp, mystrstr,mystrtok

    1 int myStrlen(const char *src)
    2 {
    3     int len = 0;
    4     while(*src++)
    5     {
    6         len++;
    7     }
    8     return len;
    9 }
    1 char* myStrcpy(char* dest,const char* src)
    2 {
    3     char *d = dest;
    4     while(*dest++ == *src++);
    5     return d;
    6 }
    1 char* myStrcat(char* dest,const char* src)
    2 {
    3     char *d = dest;
    4     while(*dest) dest++;
    5     while(*dest++ = *src++);
    6     return d;
    7 }
     1 int myStrcmp(const char* s1,const char* s2)
     2 {
     3 #if 0
     4     for(;(*s1&&*s2)&&(*s1++ == *s2++););
     5     return *s1-*s2;
     6 #endif
     7     
     8 #if 0
     9     for(;(*s1&&*s2)&&(*s1++ == *s2++););
    10     return *s1-*s2;
    11     
    12 #endif
    13     
    14 #if 0
    15     for(; *s1 && *s2 ;s1++,s2++)
    16     {
    17         if(*s1 != *s2)
    18             break;
    19     }
    20     return *s1 - *s2;
    21 #endif
    22     
    23 #if 0
    24     for(;;str1++,str2++)
    25     {
    26         if(*str1 != *str2)
    27             return *str1-*str2;
    28         if(*str1 == 0)//两个字符串同时到结尾
    29             return 0;
    30     }
    31 #endif
    32 }
     1 char * myStrstr(char *str, char *subStr)//调用库函数实现
     2 {
     3     if(*subStr == '')
     4         return str;
     5     while(str = strchr(str,*subStr))
     6     {
     7         if(strncmp(str,subStr,strlen(subStr)) == 0)
     8               return str;
     9         str++;
    10     }
    11     return NULL;
    12 }
    13 
    14 
    15 char * myStrstr(char *str, char *subStr)//纯自实现
    16 {
    17     if(*subStr == '')//如果subStr是空串,直接返回str
    18         return str;
    19     while(*str)
    20     {
    21         int i = 0;
    22         for(;*(str+i) == *(subStr+i);i++)
    23         {
    24             if(*(subStr+i+1) == '')
    25                 return str;
    26         }
    27         str++;
    28     }
    29     return NULL;
    30 }
  • 相关阅读:
    修复grub引导Centos8和Windows
    少儿编程到底学什么?
    Windows平台最方便最易用的法语输入法
    ServiceStack.OrmLite 入门(一)
    起步:Proteus 8 仿真 Arduino 1.8.2
    命令行方式登录PostgreSQL
    CentOS 7 安装 PostgreSQL
    Twitter开源的Heron快速安装部署教程
    centos7下使用yum安装mysql
    [转]centos7 下安装MongoDB
  • 原文地址:https://www.cnblogs.com/ZhuLuoJiGongYuan/p/9549337.html
Copyright © 2011-2022 走看看