Chr*_*ine 1 c++ string replace
我正在尝试用字符串中的'%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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我传入字符串"_a_b_c_e_f_g__"时,下划线代表空格,我的输出是"%20a%20b%20c%20e_f_g__".同样,下划线代表空间.
为什么字符串开头附近的空格被替换,但是朝向末尾的空格不是?