使用迭代器插入字符串的特定部分? (C ++)

时间:2010-03-07 11:02:40

标签: c++ iterator

string str = "one three";
string::iterator it;
string add = "two ";

假设我想在“一个”空格后面添加:“两个”。 空间是str [3]正确吗?所以:在这种情况下,n = 3;

for (it=str.begin(); it < str.end(); it++,i++) 
{
  if(i == n) 
  {                   
    // insert string add at current position          
    break;
  } // if at correct position
} // for

*它允许我访问str [3]中的字符,但我不知道如何从那里添加字符串。任何帮助表示赞赏,谢谢。如果有什么令人困惑或不清楚请告诉我

3 个答案:

答案 0 :(得分:2)

使用std::string::insert。 <或者

str.insert(n, add);

或使用以下更通用的版本,适用于任何容器(不仅仅是std::string)。

str.insert(str.begin() + n, add.begin(), add.end());

答案 1 :(得分:1)

您可以使用字符串类的insert方法。

string str = "one three";
string add = "two ";
str.insert(4,add); // str is now "one two three"

答案 2 :(得分:1)

string::iterator it = str.begin() + 4;
str.insert(it, add.begin(), add.end());