c++ - str.insert() 不起作用

标签 c++ string insert

我正在尝试搜索字符串并插入双引号。我在字符串中搜索分隔符并尝试在分隔符之前或之后插入“\””(无关紧要)。

程序编译,但是当它到达这个函数时它卡住了。它在编译时没有给我任何错误。

我做错了什么?

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/

相关文章:

mysql - Navicat (MySQL) 字符编码错误

mysql - 数据库关系和插入行

android - cocos2d android 编译时链接不工作

c++ - 为什么要指定指针类型?

c++ - 赋值运算符重载未被调用

c++ - 最好情况,最坏情况,插入排序算法的随机数据输入?

c++ - 将字符串转换为 double C++

mysql - 如果项目不存在,则仅插入表中

c# - 匹配时抓取一部分文本,去掉其余部分,因为它没用

java - 如何从字符串中提取带有单词的行(java_android)