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

 更新时间:2020年4月25日 17:45  点击:2268

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);  
}

[!--infotagslink--]

相关文章