实现函数替换字符串中空格为%20.

来源:互联网 发布:数值最优化 pdf 编辑:程序博客网 时间:2024/06/08 09:56

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

思路:计算空格数量,然后根据空格数量计算替换后字符串长度,然后将原字符串变为新字符串。

#include <stdio.h>#include <assert.h>#include <string.h>void replace_space( char* dest){int len = 0;//原字符长度int newlen = 0;//空格变为%20后字符长度int snum = 0;//空格个数assert(dest);while(dest[len] != '\0') //计算原字符长度和空格个数{if(dest[len] == ' '){snum+=1;}len++;}newlen = len+2*snum;while(len+1) //加一为了判断第一个字符是不是空格{if(dest[len] == ' '){dest[newlen--] = '0';dest[newlen--] = '2';dest[newlen] = '%';}else{dest[newlen] = dest[len];}newlen--;len--;}}int main(){char p[20] = "We are happy";replace_space(p);printf("%s",p);}
结果展示:



1 0