C++ String Library - insert



Description

It inserts additional characters into the string right before the character indicated by pos.

Declaration

Following is the declaration for 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);

Parameters

  • pos − It is an insertion point.

  • str − It is a string object.

Return Value

It returns *this.

Exceptions

if an exception is thrown, there are no changes in the string.

Example

In below example for 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);
}
string.htm
Advertisements