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

标签 c++ iterator

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

假设我想在“one”中的空格后面添加“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] 处的字符,但我不知道如何从那里添加字符串。如有任何帮助,我们将不胜感激,谢谢。如果有任何令人困惑或不清楚的地方,请告诉我

最佳答案

使用std::string::insert 。要么做

str.insert(n, add);

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

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

关于c++ - 使用迭代器插入字符串的特定部分? (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2395999/

相关文章:

c# - "mono_add_internal_call"是否可以仅使用 CLR 托管?

java - 在 Java 中显示列表与在 Python 中一样优雅

c - 为 BST 定义迭代器

Java、谷歌集合库; AbstractIterator 的问题?

c++ - std::map 迭代器和插入的行为

c++ - 标准库容器迭代器的递增/递减迭代器是确定性的吗?

c++ - 从 iphone 中的固定数字集生成随机数

c++ - 如何比较作为模板类传递的字符串?

c++ - 在循环内使用 UDP 套接字时连接被拒绝

c++ - 模板特化,在一个函数中具有多个模板参数