/* length is the maxsize of string */
void replace_blank(char string[], int length)
{
if(NULL == string && length <= 0)
return ;
// originaLength real length of string
int originaLength = 0;
int numberOfBlank = 0;
int i = 0;
while(string[i] != '\0'){
++originalLength;
if(string[i] == ' ')
++numberOfBlank;
++i;
}
// newLength is the length of string that change blank into %20
int newLength = originalLength + numberOfBlank * 2;
if(newLength > length)
return;
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]
}
--indexOfOriginal;
}
}
ReplaceBlank
最新推荐文章于 2022-04-23 10:21:45 发布