手动实现string类的方法实现
来源:互联网 发布:企业宣传制作软件下载 编辑:程序博客网 时间:2024/05/17 00:53
1.strcpy
char * my_strcpy(char *dest,const char *src){ char *temp=dest; while(*temp++=*src++); return (temp-1);}
2.strcat
char *mystrcat(char *target,const char * source){ while(*target)//这里可以看出指针和数组下标的不同,一直都觉得指针式很有优势的 target++; while(*target++=*source++); return(target);}int main(){ char a[100]="hello world "; char *b="chenmiaohong"; mystrcat(a,b); printf("%s\n",a);}
3.strnct
char *strcat(char *destination ,const char * source,int n){ char *original=destination; int i=0; while(*destination ) destination ++; while((i++<n)&&(*destination ++=*source++));//我忍不住再一次赞叹一下这个循环语句 //这个容错性的想到也很牛,只要n为负数,就将目标字符串改为空 if(i>n) *destination=NULL; return(original);}
/str_index函数 作用是返回索引到串的首次出现/
int str_index(const char *string,char letter){ char *origion=string; while((*string!=letter)&&(*string)) string++; return (string-origion+1);}int main(){ char *s="hello world"; int a; a=str_index(s,'l'); printf("%d\n",a);}
//strrchr函数 也是不常用的函数 作用是搜索字符在字符串中的末次出现
#include<stdio.h>char *strrchr(const char *string, char letter){ char *ptr=NULL; while(*string)//这个逻辑在很多地方都有用 { if(*string==letter) ptr=string; string++; } return (ptr);}int main(int argc,char** argv){ char *str="asgdfghghkhuyre"; char *asd=strrchr(str,'g'); printf("%s\n",asd); return 0;}
//strchr函数 作用是获取字符串中第一次出现某个字符
char *strchr(const char *string, char letter){ while((*string!=letter)&&(*string)) string++; return (string);}int main(int argc,char** argv){ char *str="asgdfghghkhuyre"; char *asd=strchr(str,'g'); printf("%s\n",asd); return 0;}
0 0
- 手动实现string类的方法实现
- JavaScript实现String 类的trim()方法
- String类的一些内部实现方法
- String的hashCode方法实现
- 单链表的手动实现
- LinkedList的手动实现
- String类成员方法实现
- string类的两种实现方法及string的一些成员函数的实现
- string类的实现
- String类的实现
- String类的实现
- String类的实现
- String 类的实现
- String类的实现
- string类的实现
- String类的实现
- String类的实现
- string类的实现
- 2017.01.07 JS随手记
- Mac selenium+maven+java+testng+jenkins+github,web自动化环境搭建。第一章
- 条款二十九: Reference counting(引用计数)
- 韩信点兵
- Angular2文档学习的知识点摘要——显示数据、用户输入、表单
- 手动实现string类的方法实现
- android动画_补间动画_xml方式
- ThinkPHP框架配置安装(详细)
- 欢迎使用CSDN-markdown编辑器
- 架构设计:负载均衡层设计方案(3)——Nginx进阶
- 读《代码大全》第2版 第12章 基本数据类型
- 左神的书——《程序员代码面试指南》之生成窗口最大值数组问题c++实现
- iOS中NSSearchPathForDirectoriesInDomains函数
- 关于值传递和址传递