博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C 简陋版string操作strcpy strcmp strcat strchr strstr
阅读量:5935 次
发布时间:2019-06-19

本文共 1771 字,大约阅读时间需要 5 分钟。

hot3.png

文件下载地址:

代码如下:

#include <stdio.h>

#include <stdlib.h>

char *strcpy_(char *dest,const char *src);

char *strcat_(char *dest,const char *src);

int strcmp_(const char *dest,const char *src);

int strlen_(const char *src);

char *strchr_(char *s, int c);

char *strstr_(const char *s,const char *c);

int main()

{

char p[]="xxdexxx";

char q[]="de";

printf("p=%s\n",p);

printf("q=%s\n",q);

printf("strlen_(p)=%d\n",strlen_(p));

printf("strcpy_(p,q)=%s\n", strcpy_(p,q));

char p1[]="xxdexxx";

char q1[]="de";

printf("strchr_(p,'d')=%s\n",strchr_(p1,'d'));

char p2[]="xxdexxx";

char q2[]="de";

printf("strstr_(p,q)=%s\n",strstr(p2,q2));

char p3[]="xxdexxx";

char q3[]="de";

printf("strcmp_(p,q)=%d\n",strcmp_(p3,q3));

char p4[]="xxdexxx";

char q4[]="de";

printf("strcat_(p,q)=%s\n",strcat_(p4,q4));

return 0;

}

char *strstr_(const char *s,const char *c)

{

const char *p=NULL;

const char *q=NULL;

while(*s!='\0')

{

p=s;

p=c;

while(*s==*c&&*c!='\0')

{

s++;

c++;

}

if(*c=='\0')

{

return (char*) p;

}

p++;

c=p;

s=p;

}

return NULL;

}

char *strcpy_(char *dest,const char *src)

{

char *p=dest;

while(*src!='\0')

{

*p=*src;

p++;

src++;

}

return dest;

}

int strcmp_(const char *dest,const char *src)

{

int result=0;

const char *p=dest;

AA: if(*p==*src)

{

p++;

src++;

goto AA;

}else

{

result=*p-*src;

return result;

}

return result;

}

char *strcat_(char *dest,const char *src)

{

int len=strlen_(dest)+strlen_(src)+1;

char *p=(char *)malloc(len);

if(p!=NULL)

{

strcpy_(p,dest);

strcpy_(p+strlen_(dest),src);

return p;

}

return NULL;

}

char *strchr_(char *s, int c)

{

char *p=s;

while(*p!='\0')

{

if(*p==c)

{

return p;

}

p++;

}

return NULL;

}

int strlen_(const char *src)

{

int count=0;

const char *p=src;

while(*p++)

{

count++;

}

return count;

}

转载于:https://my.oschina.net/f839903061/blog/265352

你可能感兴趣的文章
局部内部类
查看>>
apache 开启网页压缩功能
查看>>
[Android四大组件之一]——Activity
查看>>
使用 ButterKnife 操作无效(不报错、点击后没效果)------代码编写错误
查看>>
Test of String
查看>>
[转载]Linux内存高,触发oom-killer问题解决
查看>>
SqlServer中的merge操作(转载)
查看>>
学习进度条(第十四周)
查看>>
工控随笔_C#连接PLC_之_C#入门_01_配置学习环境
查看>>
hexo搭建个人主页托管于github
查看>>
linux下常用命令
查看>>
选择排序(直接把最小或最大的数选出来排列)
查看>>
iptables防火墙常用命令参数
查看>>
ImageList图标左边有黑色竖线
查看>>
Array排序方法sort()中的大坑
查看>>
beta第一天
查看>>
实验一
查看>>
JS声明变量的方式:var、let、const
查看>>
Spring Boot基础教程》 第1节工具的安装和使用
查看>>
asp.net中http提交数据所遇到的那些坑
查看>>