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

Suraj P 12 octubre 2023
  1. Utilice std::string::at para obtener el último carácter de una cadena en C++
  2. Utilice std::string::back() para obtener el último carácter de una cadena en C++
  3. Utilice std::string::rbegin() para obtener el último carácter de una cadena en C++
  4. Utilice std::string:begin() y reverse() para obtener el último carácter de una cadena en C++
  5. Utilice la indexación de matrices para acceder a los caracteres de una cadena en C++
Obtener el último carácter de una cadena en C++

Este artículo enseñará diferentes métodos para obtener el último carácter de una cadena en C++.

Utilice std::string::at para obtener el último carácter de una cadena en C++

Podemos usar std::string::at para extraer un carácter presente en una posición determinada de una cadena.

Sintaxis:

char& string::at(size_type indexNo)

Esto devuelve el carácter en una posición específica en el indexNo especificado por el usuario. El método arroja una excepción out_of_range cuando se pasa un número de índice no válido, como un índice menor que cero o un índice mayor o igual que string.size().

Ejemplo: Extraer el último carácter y el carácter en una posición determinada.

#include <iostream>
using namespace std;

int main() {
  string str("Spider Man");

  cout << "Character at position 3: " << str.at(3) << endl;

  int length = str.size();

  cout << "Character at last position: " << str.at(length - 1) << endl;
}
Explicación
Para obtener el carácter en la última posición, primero buscamos la longitud de la cadena y pasamos longitud-1 en el método std::string::at().

Producción :

Character at position 3: d
Character at last position: n

Utilice std::string::back() para obtener el último carácter de una cadena en C++

std::string::back() en C++ da la referencia al último carácter de la cadena. Esto funciona solo en cadenas no vacías.

Esta función también puede reemplazar el carácter al final de la cadena.

Sintaxis:

  1. Para acceder al último carácter.

    char ch = string_name.back();
    
  2. Para reemplazar el carácter presente al final de la cadena.

    str.back() = 'new_char_we_to_replace_with';
    

Esta función no toma ningún parámetro y proporciona la referencia al último carácter de la cadena. Muestra un comportamiento indefinido cuando se aplica en una cadena vacía.

Código de ejemplo:

#include <iostream>
using namespace std;

int main() {
  string str("Spider Man");
  char ch = str.back();

  cout << "Character at the end " << ch << endl;

  str.back() = '@';

  cout << "String after replacing the last character: " << str << endl;
}

Producción :

Character at the end n
String after replacing the last character: Spider Ma@

Utilice std::string::rbegin() para obtener el último carácter de una cadena en C++

std::string::rbegin() en C++ significa comienzo inverso. Esta función se utiliza para apuntar al último carácter de la cadena.

Sintaxis:

reverse_iterator it = string_name.rbegin();

Esta función no contiene ningún parámetro y devuelve el iterador inverso que apunta al último carácter de la cadena.

Código de ejemplo:

#include <iostream>
#include <string>
using namespace std;

int main() {
  string str("Spider Man");

  string::reverse_iterator it = str.rbegin();

  cout << "The last character of the string is: " << *it;
}

Producción :

The last character of the string is: n

Utilice std::string:begin() y reverse() para obtener el último carácter de una cadena en C++

std::string::begin() en C++ devuelve el iterador al principio de la cadena, sin tomar ningún parámetro.

Sintaxis:

string::iterator it = string_name.begin();

std::string::reverse() es una función integrada en C++ para invertir directamente una cadena. Toma los iteradores begin y end como argumentos.

Esta función se define en el archivo de cabecera algoritmo.

Sintaxis:

reverse(string_name.begin(), string_name.end());

Para obtener el último carácter de la cadena, primero invertimos la cadena usando el método reverse y luego usamos el método begin() para obtener la referencia del primer carácter de la cadena (que era el último carácter antes de la inversión) e imprimimos eso.

Código de ejemplo:

#include <algorithm>
#include <iostream>
#include <string>
using namespace std;

int main() {
  string str("Spider Man");

  reverse(str.begin(), str.end());

  string::iterator it = str.begin();

  cout << "The last character of the string is: " << *it;
}

Producción :

The last character of the string is: n

Utilice la indexación de matrices para acceder a los caracteres de una cadena en C++

Podemos acceder a los caracteres de una cadena haciendo referencia a ella usando su número de índice y pasándola entre corchetes [].

Código de ejemplo:

#include <iostream>

using namespace std;

int main() {
  string str("Bruce banner");

  int length = str.size();

  cout << "The last character of the string is " << str[length - 1];
}

Para obtener el último carácter, primero buscamos la longitud de la cadena y pasamos length-1 entre corchetes.

Producción :

The last character of the string is r
Autor: Suraj P
Suraj P avatar Suraj P avatar

A technophile and a Big Data developer by passion. Loves developing advance C++ and Java applications in free time works as SME at Chegg where I help students with there doubts and assignments in the field of Computer Science.

LinkedIn GitHub

Artículo relacionado - C++ String