替换字符串 c++
2016-03-16 17:49
399 查看
#include <iostream> using namespace std; void replaceBlanks(char *string,int length){ if(string==NULL||length<0) return; int originalLength=0; int numbersofBlanks=0; int i=0; while(string[i]!='\0'){ originalLength++; if(string[i]==' ') numbersofBlanks++; ++i; } int newLength=originalLength+numbersofBlanks*2; if(newLength>length) return; int indexOriginal=originalLength; int indexNew=newLength; // cout <<numbersofBlanks << originalLength<<endl; while(indexOriginal<indexNew&&indexOriginal>=0){ if(string[indexOriginal]==' '){ string[indexNew --] = '0'; string[indexNew --] = '2'; string[indexNew --] = '%'; }else string[indexNew--]=string[indexOriginal]; indexOriginal --; } //cout << string ; } int main() { cout << "test\n"; char string[100]="i love u , good good study , day day up"; cout << string << endl; replaceBlanks(string,100); cout << string << endl; return 0; }
测试的结果如下:
test
i love u , good good study , day day up
i%20love%20u%20,%20good%20good%20study%20,%20day%20day%20up
相关文章推荐
- C++扬帆远航——5(换分币)
- 【C++探索之旅】第一部分第十三课:第一部分小测验
- 【C++探索之旅】第一部分第十三课:第一部分小测验
- iOSDay09C语言函数指针
- 【C++探索之旅】第一部分第十二课:指针一出,谁与争锋
- 【C++探索之旅】第一部分第十二课:指针一出,谁与争锋
- C语言求一组分数数列之和
- 含所有运算符重载的讲解(附实例)
- C语言第零篇:C语言学习
- 【C++解密】:C++不能直接给文件中写入数字怎么办
- 红黑树C++描述
- 红黑树C++描述
- 红黑树C++描述
- 红黑树C++描述
- c语言typedef的用法
- leetcode 337:House Robber III
- try c++11 foreach(1)
- 桶排序 c++ 实现
- 目录下面文件名的排序
- 信息学奥林匹克竞赛-C语言输出3个数中最大值