删除字符串中某个字符strdel

函数

char *strDel(char* str,const char chToDel)

不是库里面的函数,自己实现的原型,删除str中所有的chToDel字符。

源码

//基本思想是:通过pRefStr2遍历str,找出不等于chToDel的值,将其赋值与pRefStr2
char *strDel(char* str,char chToDel)
{assert((str!=NULL)&& (chToDel!=NULL));char *pRefStr1, *pRefStr2;pRefStr1=pRefStr2=str;//将两个指针变量同时指向str,后续改变指针变量的值相当于改变str的值while(*pRefStr2++){if(*pRefStr2!=chToDel) {*pRefStr1++=*pRefStr2;//找到不等于chToDel的值,并将其赋值与pRefStr1,再将pRefStr1的指针向后移动;
        }}*pRefStr1='\0';return str;
}

关键点: 注意C语言程序的顺序执行,以及指针。

测试

#include<iostream.h>
#include<assert.h>
void main()
{char destStr[10]="aadddfcca";char delStr='a';strDel(destStr,delStr);cout<<destStr<<endl;
}

输出结果:

dddfcc

转载于:https://www.cnblogs.com/jeakeven/p/5855530.html

源码实现 -- strdel相关推荐

  1. 查看Hotspot源码,查看java各个版本源码的网站,如何查看jdk源码

    java开发必知必会之看源码,而看源码的第一步则是找到源码

  2. 【Golang源码分析】Go Web常用程序包gorilla/mux的使用与源码简析

    目录[阅读时间:约10分钟] 一.概述 二.对比: gorilla/mux与net/http DefaultServeMux 三.简单使用 四.源码简析 1.NewRouter函数 2.HandleF ...

  3. liunx上mysql源码安装mysql,搞定linux上MySQL编程(一):linux上源码安装MySQL

    [版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途] 1. 首先下载源码包: ftp://ftp.jaist.ac.jp/pub/m ...

  4. java调用clang编译的so_写Java这么久,JDK源码编译过没?编译JDK源码踩坑纪实

    好奇害死羊 很多小伙伴们做Java开发,天天写Java代码,肯定离不开Java基础环境:JDK,毕竟我们写好的Java代码也是跑在JVM虚拟机上. 一般来说,我们学Java之前,第一步就是安装JDK环 ...

  5. Go 源码里的这些 //go: 指令,go:linkname 你知道吗?

    原文地址: Go 源码里的这些 //go: 指令,你知道吗? 一文解惑 //go:linkname 指令

  6. 超详细中文预训练模型ERNIE使用指南-源码

    作者 | 高开远,上海交通大学,自然语言处理研究方向 最近在工作上处理的都是中文语料,也尝试了一些最近放出来的预训练模型(ERNIE,BERT-CHINESE,WWM-BERT-CHINESE),比对 ...

  7. 谷歌BERT预训练源码解析(二):模型构建

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/weixin_39470744/arti ...

  8. pytorch源码解析:Python层 pytorchmodule源码

    尝试使用了pytorch,相比其他深度学习框架,pytorch显得简洁易懂.花时间读了部分源码,主要结合简单例子带着问题阅读,不涉及源码中C拓展库的实现. 一个简单例子 实现单层softmax二分类, ...

  9. Bert系列(二)——源码解读之模型主体

    本篇文章主要是解读模型主体代码modeling.py.在阅读这篇文章之前希望读者们对bert的相关理论有一定的了解,尤其是transformer的结构原理,网上的资料很多,本文内容对原理部分就不做过多 ...

最新文章

  1. 【Unity技巧】制作一个简单的NPC
  2. win10系统上抓包网卡的驱动总是失效怎么办?
  3. 拉格朗日插值的优缺点_拉格朗日与牛顿插值法的比较
  4. Id都是“とつくとき”这样的怎么爬,在线等,急
  5. PAI通过流式机器学习算法解决实时热点新闻挖掘案例
  6. 微信公众号开发之授权获取用户信息
  7. 给我一个小碗,还你一个奇迹——结构工程师教你吃垮必胜客(有图,附论文)【ZT】...
  8. IOCP编程小结(中)
  9. js金额格式化最简单方法 JS对货币格式化,js钱三位一隔,javascript货币格式化
  10. vs2017使用GitHub插件发布项目到github
  11. android 隐藏应用程序,免ROOT隐藏应用图标软件
  12. 用python的matplotlib和numpy库绘制股票K线均线
  13. 【jq练习】基本选择器
  14. FX DocuCentre S2520~~富士施乐 DocuCentre S2520和2022打印机驱动安装
  15. Win10 日期/时间修改
  16. 自学前端第十八天:CSS精准定位position
  17. 仓库码放要求_产品码放标准
  18. nc系统搜索服务器失败怎么办,nc: invalid option — ‘e’错误解决办法 linux系统启动weblogic受管服务器报un...
  19. Cocos2dx富文本 RichText的使用
  20. P2P模式:房产抵押借款如何运营

热门文章

  1. 用python开启相机_使用“打开”编辑相机设置
  2. 如何啃透周志华的《机器学习》西瓜书?
  3. 动物行为检测计算机视觉_当动物行为研究遇见机器视觉——“红外热成像+计算机视觉”动物行为研究系统...
  4. 计算机考研单科成绩要求,考研单科分数是多少
  5. thttpd支持php吗,轻量型thttpd+php5
  6. oracle 快照过旧怎么回退_我的世界20w45a:1.17首个快照!加入水晶、蜡烛、口袋、铜锭……...
  7. Python学习入门基础教程(learning Python)--5.4 Python读文件详解
  8. Qt文件打包_vortex_新浪博客
  9. LTE学习:下行参考信号的总结
  10. uni保存canvas图片_小程序canvas【开箱即用】