



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第C语言strlen,strcpy,strcmp,strcat,strstr字符串操作函数实现目录strlenstrcpystrcmpstrcatstrstr前言:
今天来实现strlen、strcpy、strcmp、strcat、strstr三个比较常见的字符串操作函数,具体实现如下。
strlen
C库函数size_tstrlen(constchar*str)计算字符串str的长度,直到空结束字符,但不包括空结束字符。
intmy_strlen(constchar*p){
intsize=0;
//找到末尾停止
while(*p!='\0'){
p++;
size++;
returnsize;
}
strcpy
C库函数char*strcpy(char*dest,constchar*src)把src所指向的字符串复制到dest。需要注意的是如果目标数组dest不够大,而源字符串的长度又太长,可能会造成缓冲溢出的情况。
char*my_strcpy(char*dest,constchar*src){
//判断传入是否为空
if(src==NULL||dest==NULL){
returndest;
char*pdest=dest;
//不为空打印
while(*src!='\0'){
*pdest=*src;
pdest++;
src++;
//末尾加'\0'
*pdest='\0';
returndest;
}
strcmp
C库函数intstrcmp(constchar*str1,constchar*str2)把str1所指向的字符串和str2所指向的字符串进行比较。
intmy_strcmp(constchar*str1,constchar*str2){
//一直往后查找直到其中一个结尾或者他们二者不相等为止
while(*str1!='\0'*str2!='\0'(*str1==*str2)){
str1++;
str2++;
return*str1-*str2;
}
strcat
C库函数char*strcat(char*dest,constchar*src)把src所指向的字符串追加到dest所指向的字符串的结尾。
char*my_strcat(char*dest,constchar*src){
char*pdest=dest;
//pdset先走到末尾
while(*pdest!='\0'){
pdest++;
//链接
while(*src!='\0'){
*pdest=*src;
pdest++;
src++;
//加结尾标志'\0'
*pdest='\0';
returndest;
}
strstr
C库函数char*strstr(constchar*haystack,constchar*needle)在字符串haystack中查找第一次出现字符串needle的位置,不包含终止符\0。
char*my_strstr(constchar*dest,constchar*src){
//断言非空
assert(destsrc);
while(*dest!='\0'){
//记录destsrc初始位置
char*pdest=dest;
char*psrc=src;
//若相等则继续比较
while(*pdest==*psrc||*psrc=='\0'){
//如果psrc=='\0'则说明找到子串
if(*psrc=='\0'){
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 法律基础知识考试题库及答案
- 李超专利实务课件
- VTE预防与治疗相关知识考试试卷(含答案)
- 呼吸内科出科试题及答案
- 2025年献血常识测试题及答案
- 急救常识知识试题及答案
- 人防工程扩建方案(3篇)
- 李清照渔家傲课件
- 安全培训的logo课件
- 家具使用安全知识培训课件
- 体育-初中水平四(七年级)篮球大单元教学计划表及运球急停急起教学设计、教案
- 固定源废气监测技术规范
- 石膏固定病人的护理措施
- 2024光热电站化盐操作标准
- 3.2 参与民主生活 课件-2024-2025学年统编版道德与法治九年级上册
- 参观河南省博物院
- 建筑工程技术专业《课程设计》课程标准
- 储粮机械通风时机判断
- JTT 1357.2-2020道路车辆清障救援技术要求第2部分:装备
- 医学检验技术专业《临床实验室管理》课程标准
- 扬尘治理方案及措施(2篇)
评论
0/150
提交评论