【发布时间】:2017-02-22 04:21:47
【问题描述】:
我正在尝试将字符串中的每个空格字符替换为“%20”,并且正在考虑使用字符串类的内置替换功能。
目前,我有:
void replaceSpace(string& s)
{
int len = s.length();
string str = "%20";
for(int i = 0; i < len; i++) {
if(s[i] == ' ') {
s.replace(i, 1, str);
}
}
}
当我传入字符串“_a_b_c_e_f_g__”时,下划线代表空格,我的输出是“%20a%20b%20c%20e_f_g__”。同样,下划线代表空格。
为什么字符串开头的空格被替换了,而结尾的空格没有?
【问题讨论】: