zoukankan      html  css  js  c++  java
  • 常见函数strlen、strcmp、strstr原型实现

    数组元素的结束符为''。串的结束符为NULL

     

    一、strlen

     

    #include <iostream>

    using namespace std;

     

    long h_strlen(constchar*str){

        assert(str!=NULL);    

       const char *s = str;

       while (*s++);        

       return (s - str - 1);

    }

     

    int main(int argc, const char * argv[])

    {

       char s1[] = "hello";

       char s2[] = "123";

        

       int s1_len = h_strlen(s1);

       int s2_len = h_strlen(s2);

       printf("s1_len:%d ",s1_len);

       printf("s2_len:%d ",s2_len);

    }

     

    二、strstr

     

    // 在字符串s1中寻找字符串2。若找到返回位置。否则返回Null

     

    char *h_strstr(char*str,char *subStr){

        while (*str !='') {

           char *p = str;

           char *q = subStr;

           char *res =NULL;

           if (*p == *q) {

               res = p;

               while (*q !='' && *p == *q){

                   p++;

                   q++;

               }

               if (*q =='')

                   returnres;

           }

           str++;

        }

    }

     

     

    二、strcmp

     

    long h_strcmp(constchar *src,constchar *dst){

        assert(src != NULL&& dst != NULL);

        while (*src && *dst && (*src ==*dst)) {

           src++;

           dst++;

        }

        return (*dst - *src);

    }

     

     

  • 相关阅读:
    2. Add Two Numbers
    1. Two Sum
    22. Generate Parentheses (backTracking)
    21. Merge Two Sorted Lists
    20. Valid Parentheses (Stack)
    19. Remove Nth Node From End of List
    18. 4Sum (通用算法 nSum)
    17. Letter Combinations of a Phone Number (backtracking)
    LeetCode SQL: Combine Two Tables
    LeetCode SQL:Employees Earning More Than Their Managers
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/6780529.html
Copyright © 2011-2022 走看看