服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - C字符串操作函数的实现详细解析

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

2020-12-21 13:36C语言教程网 C/C++

以下是对C语言中字符串操作函数的实现进行了详细的分析介绍,需要的朋友可以过来参考下

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

?
1
2
3
4
5
6
int strlen(const char string) 
  int i=0; 
  while(string[i]) i++; 
  return i; 

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

?
1
2
3
4
5
char *strcpy(char *destination, const char *source) 
  while(*destinaton++=*source++); 
  return (destination-1); 
}

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

?
1
2
3
4
5
6
7
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(), 判断两个字符串是否相等.   

?
1
2
3
4
5
6
7
8
9
int streql(char *str1,char *str2) 
  while((*str1==*str2)&&(*str1)) 
  
    str1++; 
    str2++; 
  
  return((*str1==NULL)&&(*str2==NULL)); 
}

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

?
1
2
3
4
5
6
char *strchr(const char *string,int letter) 
  while((*string!=letter)&(*string)) 
    string++; 
  return (string); 
}

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

?
1
2
3
4
5
6
7
int chrcnt(const char *string,int letter) 
  int count=0; 
  while(*string) 
    if(*string==letter)count++; 
  return count; 
}

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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); 
}

 

延伸 · 阅读

精彩推荐