#include <stdlib.h>
void ReplaceBlank(char string[]);
int main()
{
char string[] = "you are very happy";
printf("source string is: %s\n", string);
ReplaceBlank(string);
printf("target string is: %s\n", string);
return 0;
}
void ReplaceBlank(char string[])
{
if(string == NULL)
{
return;
}
int i = 0, j;
int originalLength = 0;
int numberOfBlank = 0;
int resultLength = 0;
while(string[i++]!= '\0')
{
originalLength++;
if(string[i] == ' ')
{
numberOfBlank++;
}
}
resultLength = originalLength + numberOfBlank * 2;
string[resultLength] = '\0';
for(j = originalLength - 1; j >=0; j--)
{
if(string[j] == ' ')
{
string[--resultLength] = '0';
string[--resultLength] = '2';
string[--resultLength] = '%';
}
else
{
string[--resultLength] = string[j];
}
}
}