您的位置:首页 > 移动开发

[剑指offer][面试题04]实现一个函数,将字符串中的空格替换为“ ”.例如输入“we are happy.”,输出"we are happy.".

2013-10-10 16:49 931 查看
#include <iostream>
using namespace std;

void replaceBlankWithString(char *str, int iBufferSize)
{
if (str==NULL || iBufferSize<=0){
return;
}

int iLenString = 0;
int iLenBlanks = 0;
int iLenFinal  = 0;
char *p0 = str;

while ( *p0 != '\0' ){
iLenString++;
if (*p0 == ' '){
iLenBlanks++;
}

p0++;
}

iLenFinal = iLenString+iLenBlanks*2;
if (iLenFinal>iBufferSize-1){
return;
}

char *p1 = str + iLenString;
char *p2 = str + iLenFinal;
*(p2+1) = '\0';
while (iLenString--){
if (*p1==' '){
*p2-- = '0';
*p2-- = '2';
*p2-- = '%';
}
else{
*p2-- = *p1;
}

p1--;
}

}

int main()
{
char str[100] = "we are happy.";
cout<<str<<endl;
replaceBlankWithString(str, 100);
cout<<str<<endl;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐