gpt4 book ai didi

c++ - string::replace 在 100% 的时间内无法正常工作?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:25:13 35 4
gpt4 key购买 nike

我正在尝试用字符串中的“%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__”。同样,下划线代表空格。

为什么字符串开头附近的空格被替换,但结尾处的空格没有被替换?

最佳答案

每次替换都使 s 变长,但您没有更新循环条件中使用的 len

关于c++ - string::replace 在 100% 的时间内无法正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40014294/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com