字符串替换空格: 请实现一个函数,把字符串中的每个空格替换成“%20”。
例如输入“we are happy.”,则输出“we%20are%20happy.”。
#include <stdio.h>
#include <string.h>
#include <assert.h>
void replace_space(char *str)
{
assert(str);
int len = strlen(str);
int newlen = 0;
int blank = 0;
char *dst = NULL;
char *src = NULL;
char *p = str;
while (*str++ != '\0')
{
if (*str == ' ')
{
blank++;
}
}
str = p;
newlen = len + 2 * blank;
dst = str + newlen - 1;
src = str + len - 1;
while (src != dst)
{
if (*src == ' ')
{
*dst-- = '0';
*dst-- = '2';
*dst-- = '%';
src--;
}
else
{
*dst-- = *src--;
}
}
}
int main()
{
char str[30] = "we are happy";
replace_space(str);
printf("%s\n", str);
system("pause");
return 0;
}