常用字符串API实现(笔试会考)
1.puts //输出
编程思路:
因为字符串有‘\0’结尾这一特点。就可以去用putchar(也可以用printf)一个一个输出字符并且判断字符串是否到达尾巴。注意(用指针的话要注意指针的偏移)
#include <stdio.h>
#include <stdlib.h>
void myputs(char *p)
{while(*p!='\0'){putchar(*p);p++;}putchar('\n');
}
int main()
{char *str="yl hen shuai!";myputs(str);system("pause");return 0;
}
2.gets //输入
#include <stdio.h>
#include <stdlib.h>
void myputs(char *p)
{while(*p!='\0'){putchar(*p);p++;}putchar('\n');
}
int mygets(char *p2)
{int cnt=0;if(p2==NULL){printf("error\n");return;}else{while(*p2=getchar()){if(*p2=='\n'){return cnt;}else{p2++;cnt++;}}}}
int main()
{char *str="yl hen shuai!";char *str2[128]={'\0'};int n;// myputs(str);myputs("input :");n=mygets(str2);myputs(str2);printf("input %d ge char\n",n);system("pause");return 0;
}
结果:
input :
hello word
hello wordinput 10 ge char
请按任意键继续. . .
3 strlen // 字符串
#include <stdio.h>
#include <stdlib.h>
int mystrlen(char *p)
{int cnt=0;while(*p != '\0'){cnt++;p++;}return cnt;
}
int main()
{char *str="ylhenshuai";printf("ge shu:%d\n",mystrlen(str));system("pause");return 0;
}
结果:
ge shu:10
请按任意键继续. . .
4.memset //初始化
#include <stdio.h>
#include <stdlib.h>
void myMemset(char *p,char c,int a)
{while(a){*p=c;p++;a--;}
}
int main()
{char *str;str=(char *)malloc(10);myMemset(str,'a',10);str[10]='\0';printf("%s\n",str);system("pause");return 0;}
结果:
aaaaaaaaaa
请按任意键继续. . .
5.strcpy //拷贝
#include <stdio.h>
#include <stdlib.h>
char *myStrcpy(char *dest, const char *src )
{if(dest==NULL || src==NULL){return NULL;}while(*src !='\0'){*dest++ = *src++;*dest='\0';}return dest;}
int main()
{char *p[128];char *p1="chao ji chuai";myStrcpy(p,p1);puts(p);system("pause");return 0;
}
结果:
chao ji chuai
请按任意键继续. . .
6.strncpy
#include <stdio.h>
#include <stdlib.h>
char *myStrncpy(char *dest, const char *src,int n )
{if(dest==NULL || src==NULL){return NULL;}while(*src !='\0'&&n-->0){*dest++ = *src++;}*dest='\0';return dest;}
int main()
{char *p[128];char *p1="chao ji chuai";myStrncpy(p,p1,4);puts(p);system("pause");return 0;
}
结果:
chao
请按任意键继续. . .
7.strcat //拼接
#include <stdio.h>
#include <stdlib.h>
void myStrcat(char *dest,char *src)
{while(*dest !='\0'){dest++;}while(*src !='\0'){*dest++ = *src++;}*dest='\0';
}
int main()
{char p[128]="yl hen shuai";char *p1="chao ji chuai";myStrcat(p,p1);puts(p);system("pause");return 0;
}
结果:
yl hen shuaichao ji chuai
请按任意键继续. . .
8.strchr //查找字符
#include <stdio.h>
#include <stdlib.h>
char *myStrchr(const char *s, char c){while(*s!='\0'){if(*s==c){return s;} s++;}return NULL;
}int main()
{char *p="ylhenshuai";char *p1;char a='u';p1=myStrchr(p,a);if(p1==NULL){printf("no find\n");}else{printf("find\n");puts(p1);}system("pause");return 0;
}
结果:
find
uai
请按任意键继续. . .
常用字符串API实现(笔试会考)相关推荐
- 【Python】常用字符串api
1 strip()方法 去除字符串中指定的字符 s = "123abc " s.strip(" ") # 去除空格 s = "123abc" ...
- Elasticsearch入常用RESTful API总结
RESTful API HTTP动词介绍 对于资源的具体操作类型,由HTTP动词表示. 常用的HTTP动词有下面五个(括号里是对应的SQL命令). GET(SELECT):从服务器取出资源(一项或多项 ...
- 【Flutter】Dart 数据类型 字符串类型 ( 字符串定义 | 字符串拼接 | 字符串 API 调用 )
文章目录 I . 字符串定义 I . 字符串拼接 III . 字符串 API 调用 IV . 字符串 Demo 示例 I . 字符串定义 使用单引号 ' ' 和 双引号 " " 都 ...
- 常用快递API(顺丰、EMS、申通、圆通等)及快递在线下单API分享
1.常用快递API 支持顺丰.EMS.申通.圆通.韵达.汇通.中通.天天.德邦.全峰等主流快递公司. 1.1常用快递查询API 接口地址:http://v.juhe.cn/exp/index 支持格式 ...
- 常用快递API及快递在线下单API分享
1.常用快递API 支持顺丰.EMS.申通.圆通.韵达.汇通.中通.天天.德邦.全峰等主流快递公司. 文档地址:https://www.juhe.cn/docs/api/id/43 1.1常用快递查询 ...
- String常用的api(最全)
String常用api 1.String类常用的api 2.String练习题 1.String类常用的api String类的api很多,在这里列举出比较常用的api,我将其列举成了一个表格. 方法 ...
- Java中常用的API
文章目录 前言 一.java.lang String StringBuilder Integer parseXXX Math Object System Throwable Thread Runnab ...
- 五、Java中常用的API(通过包进行分类)————异常、多线程和Lambda表达式
之前已经介绍了java.lang包下的相关类,今天将要补充两个常用的API:java.lang.Throwable和java.lang.Thread 一.异常(java.lang.Throwable) ...
- Java常用类库API
Java常用类库API 字符串操作 String类 String两种赋值方式 String类中的构造函数 String()方法 String(byte[] bytes)方法 String(byte[] ...
最新文章
- 算法实现:返回单链表的倒数第pos个节点
- python glob函数_python glob 模块 map函数
- 收藏 | 循环神经网络 RNN 详细图解!
- 天逸310s可以装win7吗_婚车装饰是婚庆公司负责吗?婚车装饰还有哪里可以装
- 荣耀系列到底算不算华为手机
- Entity Framework - 利用T4 分离 Entity 和 DbContext
- sklearn笔记之preprocessing
- SosoApi使用手册
- 国内下载Android源码教程
- k开头的英文单词计算机专业,以K开头的英语单词
- Ubuntu系统清理瘦身
- 双击桌面计算机打不开硬盘,双击硬盘盘符打不开只能右键打开的解决方法 -电脑资料...
- 51.RNN训练难题--梯度弥散与梯度爆炸、详解机器学习中的梯度消失、爆炸原因及其解决方法;RNN网络的梯度推导公式(学习笔记,学习整理)
- iOS使用电脑Safari浏览器查看真机h5网页元素
- 谷歌ai人工智能叫什么_谷歌正在通过AI策展和内置订阅全面革新Google新闻
- 深度优先搜索-迷宫问题
- windows10系统怎么快速截屏
- laravel5.8整合JWT
- BeanFactory接口
- python田忌赛马