C语言 HTTP请求中,URL中的空格符会被编码为%20。编写程序,将一个字符串拷贝到另一个字符串中,拷贝过程将空格替换成“%20”。例如,当字符串为An Hui University,则经过拷贝替换之后的字符串为An%20Hui%20University。
时间: 2024-03-03 20:47:01 浏览: 80
用 替换字符串空格(C语言)
3星 · 编辑精心推荐
好的,这是一个简单的字符串替换问题,在 C 语言中我们可以使用字符数组来表示字符串,然后遍历字符数组进行替换。你可以尝试以下代码:
```c
#include <stdio.h>
#include <string.h>
void replace_space(char *s, char *new_s) {
int index = 0;
for (int i = 0; i < strlen(s); i++) {
if (s[i] == ' ') {
new_s[index] = '%';
new_s[index+1] = '2';
new_s[index+2] = '0';
index += 3;
} else {
new_s[index] = s[i];
index++;
}
}
new_s[index] = '\0'; // 添加字符串结束符
}
int main() {
char s[] = "An Hui University";
char new_s[100];
replace_space(s, new_s);
printf("%s\n", new_s); // An%20Hui%20University
return 0;
}
```
这个函数的时间复杂度是 $O(n)$,其中 $n$ 是字符串的长度。注意在 C 语言中字符串必须以 '\0' 字符结尾,因此我们在替换完毕后需要手动添加字符串结束符。
阅读全文