【C语言】字符串替换空格:请实现一个函数,把字符串中的每个空格替换成“%20”。

来源:互联网 发布:网络安全工程师对性别 编辑:程序博客网 时间:2024/04/29 13:25

字符串替换空格:  请实现一个函数,把字符串中的每个空格替换成“%20”。

例如输入“we are happy.”,则输出“we%20are%20happy.”。

#include <stdio.h>#include <string.h>#include <assert.h>void replace_space(char *str){assert(str);int len = strlen(str);int newlen = 0;int blank = 0;char *dst = NULL;char *src = NULL;char *p = str;while (*str++ != '\0'){if (*str == ' '){blank++;}}str = p;newlen = len + 2 * blank;dst = str + newlen - 1;src = str + len - 1;while (src != dst){if (*src == ' '){*dst-- = '0';*dst-- = '2';*dst-- = '%';src--;}else{*dst-- = *src--;}}}int main(){char str[30] = "we are happy";replace_space(str);printf("%s\n", str);system("pause");return 0;}





0 0
原创粉丝点击