实现一个函数将字符串中的空格替换为20%
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void myblank(char * str,int length)
{
if(str==NULL||length<=0)
return;
int orlength=0;
//int orlength=0;
int numblank=0;
//int numblank=0;
int i=0;
//int i=0;
while (str[i]!='\0')
{
++orlength;
if(str[i]==' ')
++numblank;
++i;
//++orlength;
//if(str[i]==' ')
//{
//++numnlank;
// }
//++i;
}
int newlength=orlength+numblank*2;
//int newlength=orlength+numblank*2;
if(newlength>length)
return;
//if(newlength>length)
//return ;
int index=orlength;
int newindex=newlength;
//int index=orlength;
//int newindex=newlength;
while (index>=0&&newindex>index)
{
if(str[index]==' ')
{
str[newindex--]='0';
str[newindex--]='2';
str[newindex--]='%';
//str[newindex--]='0';
//str[newindex--]='2';
//str[newindex--]='%';
}
else
{
str[newindex--]=str[index];
//str[newindex--]=str[index];
}
--index;
//--index;
}
}
int main()
{
char str[20]="we are happy.";
char str1[20]=" eqw ";
char str2[120]="asd asd asd *a0d";
myblank(str,20);
myblank(str1,20);
myblank(str2,30);
printf("%s\n",str);
printf("%s\n",str1);
printf("%s\n",str2);
system("pause");
return 0;
}