优秀的编程知识分享平台

网站首页 > 技术文章 正文

替换空格(word怎么替换空格)

nanyue 2024-08-06 18:21:00 技术文章 5 ℃

替换空格

把字符串中的每个空格替换成"%20"

思路:

空格一个字符,替换后变成3个字符,因此字符串变长了,应该从后向前替换。

参考答案:

#include <stdio.h>

void replaceBlank(char* str,int len)
{
if(str ==NULL || len <=0) return;
int originalLen = 0;
int numofBlank = 0;
int i = 0;
while(str[i] != '\0')
{
    originalLen++;
    if(str[i] == ' ') numofBlank++;
    i++;
}
int newLen = originalLen + 2*numofBlank;
if(newLen > len) return;

int indexofOriginal = originalLen;
int indexofNew = newLen;

while(indexofOriginal >0 && indexofNew > indexofOriginal)
{
    if(str[indexofOriginal] == ' ')
    {
        str[indexofNew--] = '0';
        str[indexofNew--] = '2';
        str[indexofNew--] = '%';
    }
    else
        str[indexofNew--] = str[indexofOriginal];

    indexofOriginal--;
}
}

int main()
{
char str[100]="abcde fghij lmnop";
replaceBlank(str,100);
printf("str=%s",str);
return 0;
}

Tags:

最近发表
标签列表