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

Namita Chaudhary 12 octobre 2023
  1. Supprimer le dernier caractère d’une chaîne en C++
  2. Utilisez la fonction pop_back() pour supprimer le dernier caractère de la chaîne en C++
  3. Utilisez la méthode erase() pour supprimer le dernier caractère de la chaîne en C++
  4. Supprimer le dernier caractère d’une chaîne à l’aide de la fonction erase(pos,Len)
  5. Supprimer le dernier caractère d’une chaîne à l’aide de la fonction erase(iterator)
  6. Supprimer le dernier caractère d’une chaîne à l’aide de la méthode substr()
  7. Supprimer le dernier caractère d’une chaîne à l’aide de la méthode resize()
  8. Conclusion
Supprimer le dernier caractère d'une chaîne en C++

String en C++ est utilisé pour stocker une séquence de caractères pour effectuer différentes opérations dessus. Dans cet article, nous utiliserons des chaînes et en supprimerons le dernier caractère.

Supprimer le dernier caractère d’une chaîne en C++

En C++, une chaîne peut être déclarée de deux manières : un tableau de caractères ou la classe de chaîne standard. Cependant, vous ne pouvez pas supprimer le dernier élément du tableau de caractères car un tableau a une taille fixe et n’est pas un objet instancié.

La classe string en c++ contient plusieurs fonctions intégrées qui donnent la chaîne après avoir supprimé son dernier caractère. La fonction pop_back() et la fonction erase() en sont deux.

Utilisez la fonction pop_back() pour supprimer le dernier caractère de la chaîne en C++

Le pop_back() est une fonction intégrée dans C++ STL qui supprime le dernier élément d’une chaîne. Il supprime simplement le dernier élément et ajuste la longueur de la chaîne en conséquence.

Extrait de code:

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

Production:

Original String: Welcome
Required String: Welcom

Utilisez la méthode erase() pour supprimer le dernier caractère de la chaîne en C++

La méthode erase() est une méthode intégrée de la classe string. Cette méthode peut supprimer un seul caractère ou une plage de caractères en spécifiant leurs index.

Il existe trois variantes différentes dans lesquelles la méthode erase() peut être utilisée, mais nous en discuterons deux car nous n’avons besoin de supprimer que le dernier caractère.

Supprimer le dernier caractère d’une chaîne à l’aide de la fonction erase(pos,Len)

Dans cette fonction, deux paramètres sont donnés, et l’un est le pos qui spécifie le caractère à supprimer avec son index. Le second est le Len qui nous indique la longueur ou le nombre de caractères à supprimer de la chaîne.

Extrait de code:

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

Production:

Original String: Hello
Required String: Hell

Supprimer le dernier caractère d’une chaîne à l’aide de la fonction erase(iterator)

Cette fonction ne prend qu’un seul paramètre, un itérateur qui pointe sur le caractère à supprimer. Par conséquent, nous passerons size()-1 comme paramètre car puisque l’indexation commence de 0 à size()-1 pointera sur le dernier caractère de la chaîne.

Extrait de code:

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

Production:

Original String: Hello
Required String: Hell

Supprimer le dernier caractère d’une chaîne à l’aide de la méthode substr()

La méthode substr() renvoie une sous-chaîne à partir de la chaîne d’origine. Il prend deux paramètres, l’index de départ de la sous-chaîne et la longueur de la sous-chaîne que nous voulons.

Si vous ne fournissez pas l’index de départ, il renverra la valeur par défaut 0, et si la longueur n’est pas précisée, il prendra tous les caractères de la chaîne. La méthode size() donne la longueur de la chaîne tandis que size()-1 vous fournira la longueur jusqu’à l’avant-dernier caractère.

Extrait de code:

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

Production:

Original String: Welcome
Required String: Welcom

Un point important de cette fonction est qu’elle ne modifie pas la chaîne d’origine mais en crée une nouvelle.

Supprimer le dernier caractère d’une chaîne à l’aide de la méthode resize()

La méthode resize() redimensionne la chaîne et modifie le contenu en insérant ou en supprimant des éléments du conteneur. Puisque nous devons réduire la longueur de la chaîne de 1, nous pouvons donc l’utiliser.

Nous devons passer la longueur de la chaîne que nous voulons. Comme décrit précédemment, size-1 donnera la chaîne en supprimant son dernier caractère.

Extrait de code:

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

Production:

Original String: Welcome
Required String: Welcom

Conclusion

Dans ce tutoriel, nous avons parlé de quatre méthodes différentes par lesquelles nous pouvons supprimer le dernier caractère de notre chaîne et afficher des exemples de code en utilisant les méthodes mentionnées ci-dessus.

Nous avons appris la syntaxe des méthodes pop_back(), erase() et resize() et substr() de la Standard Template Library(STL) de C++.

Article connexe - C++ String