删除字符串中的空格字符
2015-08-31 16:49
295 查看
#include<iostream> #include<assert.h> #include<string.h> using namespace std; char *DeleteBlank(char *s) { assert(s!=NULL); int i=0,j=0; //删除字符串开始的空白符 while(s[j] == ' ') j++; //删除字符串尾部的空白符 int len=strlen(s)-1; while(s[len] ==' ') len--; s[len+1]='\0'; while(s[j] !='\0') { while(s[j] == ' ') j++; //将中间的多个空格变成一个,i!=0是为了防止将头部的连续字符变为1 if(s[j-1] ==' '&&s[j-2] ==' '&&i!=0) s[i++]=' '; s[i++]=s[j++]; } s[i]='\0'; return s; } void main() { char str[]=" s abc ab "; char *p = DeleteBlank(str); while(*p !='\0') cout<<*p++; }
相关文章推荐
- mac下安装redis
- HTML5 Canvas 绘图――使用 Canvas 绘制图形图文教程 使用html5 canvas 绘制精美的图
- Android与js交互实例
- 在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结。
- 1129 -- 找用户名
- js中一些自带的属性使用
- mac安装memcache
- 单例模式 详解
- 标题:伸展树的基本操作:
- JME3骨骼动画研究
- Shell替换:变量替换,命令替换,转义字符
- nagios监控linux设置
- 深入Python(4):深拷贝和浅拷贝
- 1128 -- 整数排序
- 1127 -- 计算阶乘和
- TextView内容中给部分设置字体颜色或大小
- xUtils中DBUtils 数据库版本升级 说明
- C#把UNICODE编码转换为GB编码
- LeetCode之Contains Duplicate
- 模态框----Bootstrap Modals基础使用详解