问题:字符替换
实现一个函数,将字符串中的每个空格替换为”%20。
input:”we are happy”
output:”we%20are%20happy”
void replacespace(char* istring,int length)
{
if (istring == NULL || length < 0)
return;
int spacenumber = 0;
for (int i = 0; i < length; i++)
{
if (*(istring + i) == ' ')
spacenumber++;
}
int resultlength = length + spacenumber * 2;
char* result = new char[resultlength];
int spaceindex = 0;
for (int i = 0; i < length; i++)
{
int index = resultlength - 1 - i - 2 * spaceindex;
if (*(istring + length - 1 - i) == ' ')
{
result[index-2] = '%';
result[index-1] = '2';
result[index] = '0';
spaceindex++;
}
else
{
result[index] = *(istring + length - 1 - i);
}
}
}