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

 更新时间:2013年08月13日 09:23:45   投稿:jingxian  
以下是对C语言中字符串操作函数的实现进行了详细的分析介绍,需要的朋友可以过来参考下

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

相关文章

  • C语言的数据结构之树、森连、二叉树之间的转换图解

    C语言的数据结构之树、森连、二叉树之间的转换图解

    这篇文章主要介绍了C语言的数据结构之树、森连、二叉树之间的转换详解,数据是信息的载体,是描述客观事物属性的数、字符以及所有能输入到计算机中并被程序识别和处理的符号的集合,需要的朋友可以参考下
    2023-07-07
  • C++设计模式之职责链模式

    C++设计模式之职责链模式

    这篇文章主要介绍了C++设计模式之职责链模式,本文讲解了什么是职责链模式、什么场合下使用、代码实例等内容,需要的朋友可以参考下
    2014-10-10
  • C++实现一个简单的线程池的示例代码

    C++实现一个简单的线程池的示例代码

    本文主要介绍了C++实现一个简单的线程池的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • 如何调用C标准库的exit函数详解

    如何调用C标准库的exit函数详解

    这篇文章主要给大家介绍了关于如何调用C标准库的exit函数的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • C++整数拼接技巧大揭秘

    C++整数拼接技巧大揭秘

    C++整数拼接技巧大揭秘,让你的代码更简洁高效!你是否还在为如何优雅地将整数拼接成字符串而烦恼?本指南将为你揭示C++中最实用、最酷炫的整数拼接技巧,助你提升编程技能,需要的朋友可以参考下
    2024-03-03
  • C语言回溯法 实现组合数 从N个数中选择M个数

    C语言回溯法 实现组合数 从N个数中选择M个数

    在平时的算法的题目中,时常会遇到组合数相关的问题,暴力枚举。在N个数中挑选M个数出来。利用for循环也可以处理,但是可拓展性不强,于是写这个模板供以后参考
    2018-08-08
  • 深入探究C++中的容器适配器与仿函数技术

    深入探究C++中的容器适配器与仿函数技术

    C++中的容器适配器和仿函数是实现数据结构与算法的重要技术,容器适配器可以将一个容器转换为另一个形式,仿函数则可以自定义数据类型的比较、排序、计算等行为,提高程序的灵活性和可重用性
    2023-04-04
  • c++ 类和对象总结

    c++ 类和对象总结

    这篇文章主要介绍了c++ 类和对象总结一,需要的朋友可以参考下
    2020-01-01
  • C语言之复杂链表的复制详解

    C语言之复杂链表的复制详解

    这篇文章主要为大家详细介绍了C语言之复杂链表的复制,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • C++进程间共享数据实例

    C++进程间共享数据实例

    这篇文章主要介绍了C++进程间共享数据的方法,是进行C++应用程序开发中非常实用的技巧,需要的朋友可以参考下
    2014-10-10

最新评论