C++ 字符串库 - 插入


描述

它将附加字符插入字符串中 pos 指示的字符之前。

宣言

以下是 std::string::insert 的声明。

string& insert (size_t pos, const string& str);

C++11

string& insert (size_t pos, const string& str);

C++14

string& insert (size_t pos, const string& str);

参数

  • pos - 这是一个插入点。

  • str - 它是一个字符串对象。

返回值

它返回*this。

例外情况

如果抛出异常,则字符串不会发生任何变化。

例子

在下面的 std::string::insert 示例中。

#include <cassert>
#include <iterator>
#include <string>
using namespace std::literals;
int main() {
   std::string s = "xmplr";

   s.insert(0, 1, 'E');
   assert("Exmplr" == s);

   s.insert(2, "e");
   assert("Exemplr" == s);

   s.insert(6, "a"s);
   assert("Exemplar" == s);

   s.insert(8, " is an example string."s, 0, 14);
   assert("Exemplar is an example" == s);

   s.insert(s.cbegin() + s.find_first_of('n') + 1, ':');
   assert("Exemplar is an: example" == s);
 
   s.insert(s.cbegin() + s.find_first_of(':') + 1, 2, '=');
   assert("Exemplar is an:== example" == s);
   {
      std::string seq = " string";
      s.insert(s.begin() + s.find_last_of('e') + 1,
      std::begin(seq), std::end(seq));
      assert("Exemplar is an:== example string" == s);
   }

   s.insert(s.cbegin() + s.find_first_of('g') + 1, { '.' });
   assert("Exemplar is an:== example string." == s);
}
字符串.htm