空格替换为%20

void ReplaceBlank(char string[],int length)

{

 if(string == NULL || length <= 0)

  return;

 int originalLength = 0;

 int numberOfBlank = 0;

 int i = 0;

 while(string[i] != '\0')

 {

  ++originalLength;

  if(string[i] == ' ')

   ++numberOfBlank;

   ++i;

 }

 int newLength = originalLength +numberOfBlank * 2;

 if(newLength > length) retrun; //考虑内存不够

 

 int indexOfOriginal = originalLength;

 int indexOfNew = newLength;

 

 while(indexOfOriginal >= 0&& indexOfNew > indexOfOriginal)

 {

 if(string[indexOfOriginal] == ' ')

 {

  string[indexOfNew--] = '0';

  string[indexOfNew--] = '2';

  string[indexOfNew--] = '%';

 }

 else

  string[indexOfNew--] =string[]indexOfOriginal;

 --indexOfLength;

 }

}

posted @ 2015-09-26 23:18  Uncle_Nucky  阅读(120)  评论(0编辑  收藏  举报