我编写了以下代码,用字符串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)