Eliminar el último carácter de una cadena en C++

Namita Chaudhary 12 octubre 2023
  1. Eliminar el último carácter de una cadena en C++
  2. Utilice la función pop_back() para eliminar el último carácter de la cadena en C++
  3. Utilice el método erase() para eliminar el último carácter de la cadena en C++
  4. Eliminar el último carácter de una cadena mediante la función erase(pos,Len)
  5. Eliminar el último carácter de una cadena mediante la función erase(iterator)
  6. Eliminar el último carácter de una cadena usando el método substr()
  7. Eliminar el último carácter de una cadena usando el método resize()
  8. Conclusión
Eliminar el último carácter de una cadena en C++

String en C++ se usa para almacenar una secuencia de caracteres para realizar diferentes operaciones en ella. En este artículo, usaremos cadenas y eliminaremos el último carácter.

Eliminar el último carácter de una cadena en C++

En C++, una cadena se puede declarar de dos formas: una matriz de caracteres o la clase de cadena estándar. Sin embargo, no puede eliminar el último elemento de la matriz de caracteres porque una matriz tiene un tamaño fijo y no es un objeto instanciado.

La clase de cadena en c++ contiene varias funciones integradas que dan la cadena después de eliminar su último carácter. La función pop_back() y la función erase() son dos de ellas.

Utilice la función pop_back() para eliminar el último carácter de la cadena en C++

El pop_back() es una función integrada en C++ STL que elimina el último elemento de una cadena. Simplemente elimina el último elemento y ajusta la longitud de la cadena en consecuencia.

Fragmento de código:

#include <iostream>
using namespace std;

int main() {
  string str;
  cin >> str;
  cout << "Original String: " << str << endl;
  str.pop_back();
  cout << "Required String: " << str << endl;
  return 0;
}

Producción :

Original String: Welcome
Required String: Welcom

Utilice el método erase() para eliminar el último carácter de la cadena en C++

El método erase() es un método integrado de la clase de cadena. Este método puede eliminar un solo carácter o un rango de caracteres especificando sus índices.

Hay tres variaciones diferentes en las que se puede usar el método erase(), pero discutiremos dos de ellas ya que solo necesitamos eliminar el último carácter.

Eliminar el último carácter de una cadena mediante la función erase(pos,Len)

En esta función se dan dos parámetros, y uno es el pos que especifica el carácter a eliminar con su índice. El segundo es el Len que nos dice la longitud o el número de caracteres a eliminar de la cadena.

Fragmento de código:

#include <iostream>
using namespace std;

int main() {
  string str;
  cin >> str;
  cout << "Original String: " << str << endl;
  str.erase(str.size() - 1, 1);
  cout << "Required String: " << str << endl;
  return 0;
}

Producción :

Original String: Hello
Required String: Hell

Eliminar el último carácter de una cadena mediante la función erase(iterator)

Esta función toma solo un parámetro, un iterador que apunta al carácter a eliminar. Por lo tanto, pasaremos tamaño()-1 como parámetro porque dado que la indexación comienza desde 0 hasta tamaño()-1 apuntará al último carácter de la cadena.

Fragmento de código:

#include <iostream>
using namespace std;

int main() {
  string str;
  cin >> str;
  cout << "Original String: " << str << endl;
  str.erase(str.size() - 1);
  cout << "Required String: " << str << endl;
  return 0;
}

Producción :

Original String: Hello
Required String: Hell

Eliminar el último carácter de una cadena usando el método substr()

El método substr() devuelve una subcadena de la cadena original. Toma dos parámetros, el índice inicial de la subcadena y la longitud de la subcadena que queremos.

Si no proporciona el índice de inicio, devolverá el valor predeterminado 0, y si no se especifica la longitud, tomará todos los caracteres de la cadena. El método size() proporciona la longitud de la cadena, mientras que size()-1 le proporcionará la longitud hasta el penúltimo carácter.

Fragmento de código:

#include <iostream>
using namespace std;

int main() {
  string str;
  cin >> str;
  cout << "Original String: " << str << endl;
  cout << "Required String: " << str.substr(0, str.size() - 1) << endl;
  return 0;
}

Producción :

Original String: Welcome
Required String: Welcom

Un punto importante de esta función es que no modifica la cadena original sino que crea una nueva.

Eliminar el último carácter de una cadena usando el método resize()

El método resize() cambia el tamaño de la cadena y altera el contenido insertando o eliminando elementos del contenedor. Como necesitamos reducir la longitud de la cadena en 1, podemos usarla.

Necesitamos pasar la longitud de la cadena que queremos. Como se describió anteriormente, size-1 dará la cadena eliminando su último carácter.

Fragmento de código:

#include <iostream>
using namespace std;

int main() {
  string str;
  cin >> str;
  cout << "Original String: " << str << endl;
  str.resize(str.size() - 1);
  cout << "Required String: " << str << endl;
  return 0;
}

Producción :

Original String: Welcome
Required String: Welcom

Conclusión

En este tutorial, hemos hablado sobre cuatro métodos diferentes mediante los cuales podemos eliminar el último carácter de nuestra cadena y mostrar ejemplos de código utilizando los métodos mencionados anteriormente.

Aprendimos sobre la sintaxis de los métodos pop_back(), erase(), resize() y substr() de la biblioteca de plantillas estándar (STL) de C++.

Artículo relacionado - C++ String