替换空格-请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

时间:2023-03-09 23:31:45
替换空格-请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
 class Solution {
public:
void replaceSpace(char *str,int length) {
char *tmp;
int count=;
int i;
for(i=;i<length;i++){
if(*(str+i)==' ')
count++;
}
int add=sizeof("%20")-sizeof(' ');
add=add*count;
tmp=(char *)malloc(length+add);
int k=;
for(i=;i<length;i++){
if(*(str+i)==' '){
*(tmp+(k++))='%';
*(tmp+(k++))='';
*(tmp+(k++))='';
}
else{
*(tmp+(k++))=*(str+i);
}
}
for(i=;i<=k;i++){
*(str+i)=*(tmp+i);
} }
};