首页 > 编程 > C > 正文

C字符串操作函数的实现详细解析

2020-01-26 15:57:03
字体:
来源:转载
供稿:网友

1. strlen(),计算字符串长度  

int strlen(const char string)  {    int i=0;    while(string[i]) i++;    return i;  }  

2. strcpy(), 字符串拷贝.   

char *strcpy(char *destination, const char *source)  {    while(*destinaton++=*source++);    return (destination-1);  }

3. strcat(), 字符串的连接.   

char *strcat(char *target,const char *source)  {    char *original=target;    while(*target) target++; // Find the end of the string    while(*target++=*source++);    return(original);  } 

4. streql(), 判断两个字符串是否相等.   

int streql(char *str1,char *str2)  {    while((*str1==*str2)&&(*str1))    {      str1++;      str2++;    }    return((*str1==NULL)&&(*str2==NULL));  } 

5. strchr(), 在字符串中查找某个字符.   

char *strchr(const char *string,int letter)  {    while((*string!=letter)&(*string))      string++;    return (string);  }  

6. chrcnt(), 计算某个字符在字符串中出现的次数.  

int chrcnt(const char *string,int letter)  {    int count=0;    while(*string)      if(*string==letter)count++;    return count;  } 

7. strcmp(), 判断两个字符串是否相等.  

int strcmp(const char *str1,const char *str2)  {    while((*str1==*str2)&&(*str1))    {      str1++;      str2++;    }    if((*str1==*str2)&&(!*str1)) //Same strings      return o;    else if((*str1)&&(!*str2)) //Same but str1 longer      return -1;    else if((*str2)&&(!*str1)) //Same but str2 longer    else    return((*str1>*str2)?-1:1);  }

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选