• 非常经典的C字符串函数的实现


    1. strlen(),计算字符串长度
     1 int strlen(const char string)   
     2 
     3 {   
     4 
     5     int i=0;   
     6 
     7     while(string[i]) i++;   
     8 
     9     return i;   
    10 
    11 }   
    2. strcpy(), 字符串拷贝.
    1 char *strcpy(char *destination, const char *source)   
    2 
    3 {   
    4 
    5     while(*destinaton++=*source++);   
    6 
    7     return (destination-1);   
    8 
    9 }   
    3. strcat(), 字符串的连接.
     1 char *strcat(char *target,const char *source)   
     2 
     3 {   
     4 
     5     char *original=target;   
     6 
     7     while(*target) target++; // Find the end of the string   
     8 
     9     while(*target++=*source++);   
    10 
    11     return(original);   
    12 
    13 }   
    4. streql(), 判断两个字符串是否相等.
     1 int streql(char *str1,char *str2)   
     2 
     3 {   
     4 
     5     while((*str1==*str2)&&(*str1))   
     6 
     7     {   
     8 
     9         str1++;   
    10 
    11         str2++;   
    12 
    13     }   
    14 
    15     return((*str1==NULL)&&(*str2==NULL));   
    16 
    17 }   
    5. strchr(), 在字符串中查找某个字符.
     1 char *strchr(const char *string,int letter)   
     2 
     3 {   
     4 
     5     while((*string!=letter)&(*string))   
     6 
     7         string++;   
     8 
     9     return (string);   
    10 
    11 }   
    6. chrcnt(), 计算某个字符在字符串中出现的次数.
     1 int chrcnt(const char *string,int letter)   
     2 
     3 {   
     4 
     5     int count=0;   
     6 
     7     while(*string)   
     8 
     9         if(*string==letter)count++;   
    10 
    11     return count;   
    12 
    13 }   
    7. strcmp(), 判断两个字符串是否相等.
     1 int strcmp(const char *str1,const char *str2)   
     2 
     3 {   
     4 
     5     while((*str1==*str2)&&(*str1))   
     6 
     7     {   
     8 
     9         str1++;   
    10 
    11         str2++;   
    12 
    13     }   
    14 
    15     if((*str1==*str2)&&(!*str1)) //Same strings   
    16 
    17         return o;   
    18 
    19     else if((*str1)&&(!*str2)) //Same but str1 longer   
    20 
    21         return -1;   
    22 
    23     else if((*str2)&&(!*str1)) //Same but str2 longer   
    24 
    25     else   
    26 
    27     return((*str1>*str2)?-1:1);   
    28 
    29 }
  • 相关阅读:
    nginx相关
    facebook开源项目集合
    鸡汤有毒--大家多读
    曹政--互联网搜索老师傅
    将jar文件加到Maven的local repository中
    java web classpath
    java 读取excel内容转为JSONArray
    (.DS_Store)避免多人提交代码到GitHub上起冲突
    mvn dependency:tree
    Java Web乱码分析及解决方案
  • 原文地址:https://www.cnblogs.com/trying/p/2863770.html
Copyright © 2020-2023  润新知