字符串替换

//字符串替换空格:实现一个函数,把字符串里的空格替换成“%20”
//另外一种较为浪费空间的思路就是新建一个数组。。一个个判断空格就替换成%20  
#include <stdio.h>  
//#include <assert.h>  
void replace(char *src)  
{  
    //assert(src);  //检查字符串定义 
    int OldLen = 0;                  //原字符串长度  
    int NewLen = 0;                  //新字符串长度  
    int BlackNum = 0;                //空格数量  
    int NewBack = 0;                 //新字符串尾部  
    int OldBack = 0;                 //原字符串尾部  
    while (src[OldLen] != '\0')  
    {  
        if (src[OldLen] == ' ')  
        {  
            BlackNum++;  
        }  
        OldLen++;  
    }  
    NewLen = OldLen + BlackNum * 2;  
    OldBack = OldLen-1;  
    NewBack = NewLen - 1;  
    while (OldBack!=0)  
    {  
        if (src[OldBack] == ' ')
        {  
            src[NewBack--] = '0';  
            src[NewBack--] = '2';  
            src[NewBack] = '%';  
        }  
        else  
        {  
            src[NewBack] = src[OldBack];  
        }  
        OldBack--;  
        NewBack--;  
    }  
}  
int main()  
{  
    char p[20] = "hello world !";  
    replace(p);  
    printf("%s\n", p);  
    return 0;  
    return 0;  
}  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值