void Obenglobish::work()
{
for (int i = 0; i<word.length(); i++)
{
if (word[i] == 'a')
{
word.insert(i, "ob");
}
}
}
我的程序运行正常,直到达到此声明,我不确定我在这里做错了什么。
答案 0 :(得分:1)
如果您打算用“ob”替换“a”的所有实例,请考虑使用string::replace。
如果要在“a”的所有实例之前插入“ob”,则需要通过将插入文本的长度增加来修改循环变量(在本例中为2)。
for (int i = 0; i < word.length(); i++)
{
if (word[i] == 'a')
{
word.insert(i, "ob");
i += 2;
}
}