estándar::string::insertar() en C++

insert() se usa para insertar caracteres en una string en la posición especificada. Admite varias sintaxis para facilitar las mismas, aquí las describiremos.

Sintaxis 1: inserta los caracteres de str a partir del índice idx.

string& string::insert (size_type idx, const string& str)
idx :is the index number
str : is the string from which characters is to be picked to insert 
Returns *this.
Errors: 
Throws out_of_range if idx > size().
Throws length_error if the resulting size exceeds the maximum number of characters.
// CPP code for insert (size_type idx, const string& str)
   
#include <iostream>
#include <string>
  
using namespace std;
   
// Function to demonstrate insert
void insertDemo(string str1, string str2)
{
   
    // Inserts str2 in str1 starting 
    // from 6th index of str1
    str1.insert(6, str2);
    cout << "Using insert : ";
    cout << str1;
}
  
// Driver code
int main()
{
    string str1("Hello World! ");
    string str2("GeeksforGeeks ");
   
    cout << "Original String : " << str1 << endl;
    insertDemo(str1, str2);
   
    return 0;
}

Producción:

Original String : Hello World! 
Using insert : Hello GeeksforGeeks World! 

Sintaxis 2: inserta como máximo, str_num caracteres de str, comenzando con el índice str_idx.

string& string::insert (size_type idx, const string& str, size_type str_idx,
                                                           size_type str_num)
idx : is the index number where insertion is to be made.
str : is the string from which characters are to be picked to insert.
str_idx : is the index number in str.
str_num : is the number of characters to be inserted from str.
Returns *this.
Errors: 
Throws out_of_range if idx > size().
Throws out_of_range if str_idx > str.size().
Throws length_error if the resulting size exceeds the maximum number of characters.
// CPP code for insert (size_type idx, const string& str, 
// size_type str_idx, size_type str_num)
   
#include <iostream>
#include <string>
  
using namespace std;
   
// Function to demonstrate insert
void insertDemo(string str1, string str2)
{
   
    // Inserts 6 characters from index number
    // 8 of str2 at index number 6 of str1 
    str1.insert(6, str2, 8, 6);
    cout << "Using insert : ";
    cout << str1;
}
  
// Driver code
int main()
{
    string str1("Hello World! ");
    string str2("GeeksforGeeks ");
   
    cout << "Original String : " << str1 << endl;
    insertDemo(str1, str2);
   
    return 0;
}

Producción:

Original String : Hello World! 
Using insert : Hello Geeks World! 

Sintaxis 3: inserta los caracteres de la string C cstr para que los nuevos caracteres comiencen con el índice idx.

string& string::insert (size_ type idx, const char* cstr)
idx : is the index number where insertion is to be made.
*cstr : is the pointer to the C-string which is to be inserted.
Returns *this.
Errors: 
Throws out_of_range if idx > size().
Throws length_error if the resulting size exceeds the maximum number of characters.

Nota: cstr puede no ser un puntero nulo (NULL).

// CPP code for insert(size_ type idx, const char* cstr)
   
#include <iostream>
#include <string>
  
using namespace std;
   
// Function to demonstrate insert
void insertDemo(string str)
{
   
    // Inserts " are " at 5th index of str
    str.insert(5, " are ");
    cout << "Using insert : ";
    cout << str;
}
  
// Driver code
int main()
{
    string str("GeeksforGeeks ");
   
    cout << "Original String : " << str << endl;
    insertDemo(str);
   
    return 0;
}

Producción:

Original String : GeeksforGeeks 
Using insert : Geeks are forGeeks 

Sintaxis 4: inserta caracteres chars_len de la array de caracteres chars para que los nuevos caracteres comiencen con el índice idx.

string& string::insert (size_type idx, const char* chars, size_type chars_len)
idx : index number where insertion is to be made.
*chars : is the pointer to the array.
chars_len : is the number of characters to be inserted from character array.
Returns : *this
Errors: 
Throws out_of_range if idx > size().
Throws length_error if the resulting size exceeds the maximum number of characters.

Nota : los caracteres deben tener al menos caracteres chars_len.

// CPP code for insert (size_type idx, const char* chars, 
// size_type chars_len)
   
#include <iostream>
#include <string>
  
using namespace std;
   
// Function to demonstrate insert
void insertDemo(string str)
{
   
    // Inserts 10 characters from" are here "
    // at 5th index of str
    str.insert(5, " are here ", 10);
    cout << "Using insert : ";
    cout << str;
}
  
// Driver code
int main()
{
    string str("GeeksforGeeks ");
   
    cout << "Original String : " << str << endl;
    insertDemo(str);
   
    return 0;
}

Producción:

Original String : GeeksforGeeks 
Using insert : Geeks are here forGeeks 

Sintaxis 5: inserta num ocurrencias del carácter c en la posición especificada por idx.

string& string ::insert (size_type idx, size_type num, char c)
idx : is the index number where insertion is to be made.
c : is the character to be inserted.
num : is the number of repetition of character c
Returns : *this
Errors: 
Throw out_of_range if idx > size().
Throw length_error if the resulting size exceeds the maximum number of characters.
// CPP code for :insert (size_type idx, size_type num, char c)
   
#include <iostream>
#include <string>
  
using namespace std;
   
// Function to demonstrate insert
void insertDemo(string str)
{
   
    // Inserts at 5th index,
    // 5 occurrences of '$'
    str.insert(5, 5, '$');
    cout << "Using insert : ";
    cout << str;
}
  
// Driver code
int main()
{
    string str("**********");
   
    cout << "Original String : " << str << endl;
    insertDemo(str);
   
    return 0;
}

Producción:

Original String : **********
Using insert : *****$$$$$*****

Sintaxis 6: inserta num ocurrencias del carácter c en la posición especificada por el iterador pos.

void string ::insert (iterator pos, size_type num, char c)
pos : is the position of iterator.
c : is the character which is to be inserted.
Returns : *this
Errors: 
Throws out_of_range if pos > size().
Throws length_error if the resulting size exceeds the maximum number of characters.
// CPP code for :insert (iterator pos, size_type num, char c)
#include <iostream>
#include <string>
  
using namespace std;
   
// Function to demonstrate insert
void insertDemo(string str)
{
   
    // Inserts 5 occurrences of '$'
    // at position str.begin() + 5
    str.insert(str.begin() + 5, 5, '$');
    cout << "Using insert : ";
    cout << str;
}
  
// Driver code
int main()
{
    string str("**********");
   
    cout << "Original String : " << str << endl;
    insertDemo(str);
   
    return 0;
}

Producción:

Original String : **********
Using insert : *****$$$$$*****

Sintaxis 7: inserta una copia del carácter c antes del carácter al que se refiere el iterador pos.

iterator string ::insert (iterator pos, char c )
pos : is the position of iterator.
c : is the character which is to be inserted.
Returns :  iterator pointing to the first character inserted.
Error: 
Throws length_error if the resulting size exceeds the maximum number of characters.
// CPP code for :insert (iterator pos, char c )
#include <iostream>
#include <string>
  
using namespace std;
   
// Function to demonstrate insert
void insertDemo(string str)
{
     std::string::iterator pos;
  
    // Inserts '$' at position
    //  str.begin() + 5
    pos = str.insert(str.begin()+5,'$');
    cout << "Using insert : ";
    cout << str << endl;
    cout << "Value at Iterator returned : " << *pos;
      
}
  
// Driver code
int main()
{
    string str("**********");
   
    cout << "Original String : " << str << endl;
    insertDemo(str);
   
    return 0;
}

Producción:

Original String : **********
Using insert : *****$*****
Value at Iterator returned : $

Sintaxis 8: Inserta todos los caracteres del rango [beg,end] antes del carácter al que se refiere el iterador pos.

void string ::insert (iterator pos, InputIterator beg, InputIterator end )
pos : is the iterator position.
beg, end : Input iterators to the initial and final positions in a sequence.
Error: 
Throws length_error if the resulting size exceeds the maximum number of characters.
// CPP code for insertinsert (iterator pos, InputIterator beg,
// InputIterator end )
   
#include <iostream>
#include <string>
  
using namespace std;
   
// Function to demonstrate insert
void insertDemo(string str1, string str2)
{
   
    // Inserts str2.begin() + 5 ,  str2.end() - 6
    // at position str1.begin() + 6
    str1.insert(str1.begin() + 6, str2.begin() + 5 ,  str2.end() - 6);
    cout << "Using insert : ";
    cout << str1;
}
  
// Driver code
int main()
{
    string str1("Hello  World! ");
    string str2("GeeksforGeeks ");
   
    cout << "Original String : " << str1 << endl;
    insertDemo(str1, str2);
   
    return 0;
}

Producción:

Original String : Hello World! 
Using insert : Hello forWorld! 

Este artículo es una contribución de Sakshi Tiwari . Si le gusta GeeksforGeeks (¡sabemos que le gusta!) y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *