Bibliothèque de chaînes C ++ - insérer

La description

Il insère des caractères supplémentaires dans la chaîne juste avant le caractère indiqué par pos.

Déclaration

Voici la déclaration pour 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);

Paramètres

  • pos - C'est un point d'insertion.

  • str - C'est un objet string.

Valeur de retour

Il renvoie * this.

Exceptions

si une exception est levée, il n'y a aucun changement dans la chaîne.

Exemple

Dans l'exemple ci-dessous pour 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);
}