Obtenir le dernier caractère d'une chaîne en C++

Suraj P 12 octobre 2023
  1. Utilisez std::string::at pour obtenir le dernier caractère d’une chaîne en C++
  2. Utilisez std::string::back() pour obtenir le dernier caractère d’une chaîne en C++
  3. Utilisez std::string::rbegin() pour obtenir le dernier caractère d’une chaîne en C++
  4. Utilisez std::string:begin() et reverse() pour obtenir le dernier caractère d’une chaîne en C++
  5. Utiliser l’indexation de tableau pour accéder aux caractères d’une chaîne en C++
Obtenir le dernier caractère d'une chaîne en C++

Cet article vous apprendra différentes méthodes pour obtenir le dernier caractère d’une chaîne en C++.

Utilisez std::string::at pour obtenir le dernier caractère d’une chaîne en C++

On peut utiliser std::string::at pour extraire un caractère présent à une position donnée d’une chaîne.

Syntaxe:

char& string::at(size_type indexNo)

Cela renvoie le caractère à une position spécifiée au indexNo spécifié par l’utilisateur. La méthode lève une exception out_of_range lorsqu’un numéro d’index invalide est passé, comme un index inférieur à zéro ou un index supérieur ou égal à string.size().

Exemple : Extraction du dernier caractère et du caractère à une position donnée.

#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;
}
Explication
Pour obtenir le caractère à la dernière position, nous trouvons d’abord la longueur de la chaîne et passons length-1 dans la méthode std::string::at().

Production:

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

Utilisez std::string::back() pour obtenir le dernier caractère d’une chaîne en C++

std::string::back() en C++ donne la référence au dernier caractère de string. Cela ne fonctionne que sur les chaînes non vides.

Cette fonction peut également remplacer le caractère à la fin de la chaîne.

Syntaxe:

  1. Pour accéder au dernier caractère.

    char ch = string_name.back();
    
  2. Pour remplacer le caractère présent en fin de chaîne.

    str.back() = 'new_char_we_to_replace_with';
    

Cette fonction ne prend aucun paramètre et donne la référence au dernier caractère de la chaîne. Il montre un comportement indéfini lorsqu’il est appliqué sur une chaîne vide.

Exemple de code :

#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;
}

Production:

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

Utilisez std::string::rbegin() pour obtenir le dernier caractère d’une chaîne en C++

std::string::rbegin() en C++ signifie début inversé. Cette fonction est utilisée pour pointer sur le dernier caractère de la chaîne.

Syntaxe:

reverse_iterator it = string_name.rbegin();

Cette fonction ne contient aucun paramètre et renvoie l’itérateur inverse pointant sur le dernier caractère de la chaîne.

Exemple de code :

#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;
}

Production:

The last character of the string is: n

Utilisez std::string:begin() et reverse() pour obtenir le dernier caractère d’une chaîne en C++

std::string::begin() en C++ renvoie l’itérateur au début de la chaîne, sans prendre de paramètre.

Syntaxe:

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

std::string::reverse() est une fonction intégrée en C++ pour inverser directement une chaîne. Il prend les itérateurs begin et end comme arguments.

Cette fonction est définie dans le fichier d’en-tête algorithme.

Syntaxe:

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

Pour obtenir le dernier caractère de la chaîne, nous inversons d’abord la chaîne à l’aide de la méthode reverse, puis utilisons la méthode begin() pour obtenir la référence du premier caractère de la chaîne (qui était le dernier caractère avant l’inversion) et affichons ce.

Exemple de code :

#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;
}

Production:

The last character of the string is: n

Utiliser l’indexation de tableau pour accéder aux caractères d’une chaîne en C++

On peut accéder aux caractères d’une chaîne en s’y référant à l’aide de son numéro d’index et en le passant entre crochets [].

Exemple de code :

#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];
}

Pour obtenir le dernier caractère, on trouve d’abord la longueur de la chaîne et on passe length-1 entre crochets.

Production:

The last character of the string is r
Auteur: 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

Article connexe - C++ String