zoukankan      html  css  js  c++  java
  • strstr、strcmp、strlen、strcpy

    const char* strstr(const char *str, const char* substr)
    {
        int i, j, temp;
    
        for (i = 0; str[i] != ''; i++)
        {
            j = 0;
            temp = i; //记录当前主字符串位置
            while (str[i++]==substr[j++])
            {
                if (substr[j] == '')
                {
                    return &str[temp];
                }
                else if (str[i]=='')
                {
                    return NULL; 
                }
            }
        }
    
        return NULL;
    }
    int strcmp(const char* str1, const char* str2)
    {
        while (*str1==*str2)
        {
            if (*str1 == '')
            {
                return 0;
            }
    
            ++str1; ++str2;
        }
    
        return *str1 - *str2;
    }
    unsigned int strlen(const char* str)
    {
        const char* res = str;
        while (*res++); //res跳出循环后,仍执行++
        return (res - str - 1);
    }
    char* strcpy(char *dst,const char* src)
    {
        assert(0==dst||0==src);
    
        char* tmp = dst;
    
        while (*src!='0')
        {
            *dst++ = *src++;
        }
        *dst = '';
    
        return tmp;
    }

    strcpy为较安全的做法,且构造成易于实现链式表达式的形式。

  • 相关阅读:
    springdataJpa对无主键表或视图查询的支持
    Blynk系列随笔
    arduino系列文章
    Debezium系列随笔
    Kafka系列随笔
    SSAS 收藏
    Saiku 系列
    Mondrian系列
    数据仓库理论学习
    加密解密
  • 原文地址:https://www.cnblogs.com/jason1990/p/4659425.html
Copyright © 2011-2022 走看看