替换空格
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为:We%20Are%20Happy
方法一:
void replaceSpace(char *str,int length) {
if(str==NULL) return;
char *temp=new char[length];
char *p=str;
int c=0;
while(*p!='\0'){
if(*p==' '){
temp[c++]='%';
temp[c++]='2';
temp[c++]='0';
}else{
temp[c++]=*p;
}
p++;
}
for(int i=0;i<c;i++){
str[i]=temp[i];
}
str[c]='\0';
}
方法二:
#include <iostream>
#include <string>
using namespace std;
void replaceSpace(char *str,int length){
int j=0;
int n=0;
while(str[j]!='\0'){
if(str[j]==' ')
n++;
j++;
}
int len=length+n*2+1;
str[len-1]='\0';
int c=len-2;
for(int i=length-1;i>=0;i--){
if(str[i]!=' '){
str[c]=str[i];
c--;
}else{
str[c]='0';
str[c-1]='2';
str[c-2]='%';
c=c-3;
}
}
cout<<str<<endl;
}
int main(){
char str[20]="We Are Happy";
replaceSpace(str,12);
system("pause");
}