#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void replaceBlank(char string[],int len)
{
int oriLen = 0;
int numOfBlank = 0;
int i = 0;
int newLen;
int indexOfOriginal;
int indexOfNew;while(string[i]!='\0')
{
++oriLen;
if(string[i]==' ')
{
++numOfBlank;
}
++i;
}
newLen = oriLen + numOfBlank * 2;
printf("newLen = %d\n",newLen);
if(newLen > len)
{
return;
}
indexOfOriginal = oriLen;
indexOfNew = newLen;
printf("indexOfNew = %d\n",indexOfNew);
while(indexOfOriginal >= 0 && indexOfNew > indexOfOriginal)
{
if(string[indexOfOriginal] == ' ')
{
string[indexOfNew--] = '0';
string[indexOfNew--] = '2';
string[indexOfNew--] = '%';
}
else
{
string[indexOfNew--] = string[indexOfOriginal];
}
--indexOfOriginal;
}
printf("%s",string);
}
void main()
{
char string[20] = "we are happy";
replaceBlank(string,30);
}