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