把字符串中的空格替换为"%20"
2014-03-04 20:57
190 查看
这个需要注意的是字符串的结尾最后一个字符为'\0',并不是空字符,复制时要一块复制,算法思想就是先计算出字符串中总的空格数,然后
重新计算字符串的长度,由于"%20"为3个字符,比原来多2个,所以,字符串长度是原来字符串长度加上空格字符总数×2,就是新的字符串的长度。
代码如下:
运行结果:
重新计算字符串的长度,由于"%20"为3个字符,比原来多2个,所以,字符串长度是原来字符串长度加上空格字符总数×2,就是新的字符串的长度。
代码如下:
#include <iostream> #include <cstdlib> using namespace std; void strReplace(char str[],int length) { if(str==NULL||length<0) exit(-1); int blank=0; int nLength; for(int i=0;i<length;i++) { if(str[i]==' ') blank++; } nLength=length+blank*2; for(int j=length;j>=0;j--) { if(str[j]!=' ') { str[nLength]=str[j]; nLength--; } else { str[nLength--]='0'; str[nLength--]='2'; str[nLength--]='%'; } } } int main() { char str[13]="we are happy"; int length=13; cout<<"before replace: "; cout<<str<<endl; strReplace(str,13); cout<<"after replace: "; cout<<str<<endl; return 0; }
运行结果:
相关文章推荐
- 程序员面试金典: 9.1数组与字符串 4字符串中空格全部替换为"%20"
- 把字符串中的空格替换为"%20"
- 【C/C++】将字符串中间的空格替换为"%20"
- 把字符串中空格替换为"%20"
- 实现一个函数,将字符串中的空格替换成"%20"
- 用"%20" 替换字符串中的空格
- 程序员面试金典(3)字符串中空格替换为"%20"
- 实现函数,用字符串&quot;%20&quot;替换空格
- 【剑指offer】将字符串中的空格替换成"%20"
- 实现函数,用字符串"%20"替换空格
- 请实现一个方法,把字符串中的每个空格替换成 %20 ,例如,输入"We are happy.",则输出"We%20are%20happy."
- Stirng类的常见用法:输出str长度,输出第一个"o",和最后一个"o"的索引,将str中的字符"l"替换成"m",字符串str按空格“ ”分割为2个字符串,比较这两个字符串是否相等。
- 字符串替换空格:实现函数"we are happy."-->>"we%20are%20happy."
- 把字符串data中的所有"t替换为"
- Word或者Excel中怎么把 "空格" 替换成 "换行 "
- 剑指offer中替换空格为"%20"
- 算法练习:将字符串中所有的空格替换为'%20'(只用基本数据结构)
- 替换以"|"分割的相同字符串
- [剑指offer][面试题04]实现一个函数,将字符串中的空格替换为“ ”.例如输入“we are happy.”,输出"we are happy.".
- ""(空字符串) 、" "(空格字符串)、empty() 判断字符串是否为空