小编use*_*562的帖子

为什么用%20程序崩溃替换空格?

我编写了以下代码,用字符串r(20%)替换字符串s中的所有空格.例如s ="约翰史密斯先生",在运行代码之后应该是"Mr20%John20%史密斯".

我的代码崩溃,它看起来像一个内存泄漏,但不知道它为什么会发生.谢谢.

void ReplaceStr(string &s, string &r)
{
    int i = 0;
    for(string::iterator it = s.begin(); it != s.end(); it++,i++)
    {
        if( *it == ' ')         
        {
            s.replace(i,1,r);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c++ string

2
推荐指数
1
解决办法
80
查看次数

标签 统计

c++ ×1

string ×1