我正在尝试搜索字符串并插入双引号。我在字符串中搜索分隔符并尝试在分隔符之前或之后插入“\””(无关紧要)。
程序编译,但是当它到达这个函数时它卡住了。它在编译时没有给我任何错误。
我做错了什么?
string text="This|is|the|text";
string Quote="|";
void Insert()
{
size_t i=0;
string insert="\"";
while ((i = text.find(Quote, i)) !=string::npos)
{
text.insert(i,insert);
}
}
最佳答案
想想这里发生了什么。你找到一个 '|'
在位置i
, 然后在 i
位置插入一个字符, 然后从位置 i
继续搜索.下一个在哪里'|'
现在?
关于c++ - str.insert() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20596442/