博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字符串删除,并输出新的字符串
阅读量:2140 次
发布时间:2019-04-30

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

**```

#if 1
#include “stdio.h”
#include “conio.h”
#include “string.h”
#include <stdlib.h>
void main()
{
int delSubStr(char * src,char * sub,char * result);
char *srcstr = “abcdefgde”;
char *subp = “de”;
char resp[100];
int count;
count = delSubStr(srcstr, subp, resp);
printf(“删除的子串的个数: %d\n”, count);
printf(“原来的字符串 : %s\n”, srcstr);
printf(“删除后的字符串:: %s\n”, resp);
}
/删除字串函数,在src中删除sub子串,并将结果保存在result字符串中/
int delSubStr(char * src,char * sub,char * result)
{
char *src_p = src;
char *sub_p = sub;
char *res_p = result;
int count = 0; //记录包含子串的个数
int sub_len = strlen(sub); //记录子串的长度
char temp; //临时保存子串的副本
temp = (char
)malloc(sub_len + 1);
memset(temp,’\0’,sub_len+1);
while (*src_p)
{
memcpy(temp,src_p, sub_len); //内存操作,将src_p的前len个字符存到temp指向的起始地址中
//printf(“temp–sub:%s–%s:\n”, temp,sub_p);
/原串中包含与sub完全匹配的子串/
if( !strcmp(temp, sub_p) )
{
count++;
src_p+=sub_len;
}else
{
*res_p++ = *src_p++;
}
}
*res_p=’\0’;
free(temp);
return count;
}

#endif

转载地址:http://rbtgf.baihongyu.com/

你可能感兴趣的文章
行为型模式之访问者模式(Visitor)
查看>>
大小端详解
查看>>
source insight使用方法简介
查看>>
<stdarg.h>头文件的使用
查看>>
C++/C 宏定义(define)中# ## 的含义 宏拼接
查看>>
Git安装配置
查看>>
linux中fork()函数详解
查看>>
C语言字符、字符串操作偏僻函数总结
查看>>
Git的Patch功能
查看>>
分析C语言的声明
查看>>
TCP为什么是三次握手,为什么不是两次或者四次 && TCP四次挥手
查看>>
C结构体、C++结构体、C++类的区别
查看>>
进程和线程的概念、区别和联系
查看>>
CMake 入门实战
查看>>
绑定CPU逻辑核心的利器——taskset
查看>>
Linux下perf性能测试火焰图只显示函数地址不显示函数名的问题
查看>>
c结构体、c++结构体和c++类的区别以及错误纠正
查看>>
Linux下查看根目录各文件内存占用情况
查看>>
A星算法详解(个人认为最详细,最通俗易懂的一个版本)
查看>>
利用栈实现DFS
查看>>