在网络编程中,如果URL含有特殊字符,如空格、‘#’等,服务器将无法识别导致无法获得正确的参数值,我们需要将这些特殊字符转换成服务器可以识别的字符,例如将空格转换成’%20’。给定一个字符串,将其中的空格转换成'%20'。要求效率尽可能高,尽量在O(n)的复杂度完成,要求用char数组来存储字符,不能用string
输入:一个原始字符串,例如 hello world。
输出转换后的字符串,例如 hello%20world。
样例1
输入:
we are happy
输出:
we%20are%20happy
#include<iostream>
using namespace std;
const int maxn = 1000;
char a[maxn];
int main(){
char *p = a;
// scanf("%s", a);
// getline(cin, a);
cin.getline(a, maxn);
while(*p){
if(*p == ' '){
printf("%%20");
}else{
putchar(*p);
}
++p;
}
}