63 - Clase string (append - insert - erase)


Veamos algunos métodos que nos provee la clase string para modificar el contenido de un string:

Problema

Inicializar un string con una cadena de caracteres y aplicar los métodos: append, insert y erese. Mostrar el estado final del string después de llamar a cada método.

Programa:

#include<iostream>
#include<string>

using namespace std;

int main()
{
    string cad = "uno tres";
    cout << "Cadena original:" << cad << "\n";
    cad.append(" cuatro");
    cout << "Cadena despues de llamar a append:" << cad << "\n";
    cad.insert(3, " dos");
    cout << "Cadena despues de llamar a insert:" << cad << "\n";
    cad.erase(0, 4);
    cout << "Cadena despues de llamar a erase:" << cad << "\n";
    return 0;
}
clase string c++

Este proyecto lo puede descargar en un zip desde este enlace : Clasestring9.zip

Agregamos una cadena al final del string llamando al método append y pasando como parámetro la cadena a agregar (podemos pasar como parámetro otra variable de tipo string):

    cad.append(" cuatro");

Insertamos a partir de la posición tercera otra cadena:

    cad.insert(3, " dos");

Eliminamos a partir de la posición cero cuatro caracteres del string en el estado actual:

    cad.erase(0, 4);

Problemas propuestos

  1. Realizar un programa que permita cargar una palabra por teclado. Modificar el string para agregar un guión entre cada letra de la palabra.
  2. Cargar una oración por teclado. Modificar el string de tal forma que se borren todos los espacios en blanco entre palabras.
Solución
#include<string>
#include<iostream>

using namespace std;

int main()
{
    string cadena;
    cout << "Ingrese una palabra:";
    getline(cin, cadena);
    int posi=1;
    int cantidad = cadena.length();
    for (int f = 1; f <= cantidad-1; f++) {
        cadena.insert(posi, "-");
        posi = posi + 2;
    }
    cout << "Estado cadena final:" << cadena;
    return 0;
}

Este proyecto lo puede descargar en un zip desde este enlace :Clasestring10

#include<string> #include<iostream> using namespace std; int main() { string cadena; cout << "Ingrese una oracion:"; getline(cin, cadena); int largo = cadena.length(); for (int f = 0; f < largo; f++) { if (cadena[f] == ' ') { cadena.erase(f, 1); largo--; } } cout << "Oracion sin espacios:"<<cadena; return 0; }

Este proyecto lo puede descargar en un zip desde este enlace :Clasestring11

Retornar