12 méthodes de chaîne C++ que vous devez maîtriser aujourd’hui
C++ est l'un des langages de programmation les plus puissants grâce à ses méthodes intégrées pour effectuer des opérations telles que le tri, la recherche et l'inversion. Ces méthodes couvrent les inconvénients de la facilité d'utilisation du C++ par rapport à d'autres langages de programmation de haut niveau tels que Java et Python.
Dans cet article, vous apprendrez 12 méthodes de chaîne C++ qui vous aident à effectuer des opérations sur des chaînes dans une fraction du code que vous avez utilisé.
Que sont les méthodes de chaîne en C++ ?
Les méthodes de chaîne sont les fonctions prédéfinies stockées dans le fichier d'en-tête de chaîne . Vous pouvez les utiliser en important le fichier d'en-tête de chaîne :
#include <string>
Considérons un exemple de variable de chaîne str avec la valeur « Welcome To MUO » pour implémenter ces méthodes.
string str = “Welcome To MUO”;
1. commencer()
La méthode begin() en C++ renvoie un itérateur au début de la chaîne. Créez un itérateur à l'aide du mot-clé auto et stockez la référence initiale de la variable chaîne à l'aide de str.begin(). Le code ci-dessous montre la mise en œuvre :
auto i = str.begin();
cout<<"The first character in the string str is: "<<*i<<endl;
Sortie :
The first character in the string str is: W
2. fin()
La méthode de chaîne end() renvoie l'itérateur à la fin de la chaîne. Ce code imprime le dernier caractère de la variable chaîne :
auto i = s.end()-1;
cout<<"The last character in the string s is: "<<*i<<endl;
Sortie :
The first character in the string s is: O
Vous pouvez également parcourir la chaîne et imprimer des caractères individuels à l'aide des méthodes begin() et end() . Voici comment :
for(auto i = str.begin(); i!= str.end(); i++){
cout<<*i;
}
3. push_back()
La méthode push_back() insère un caractère à la fin de la chaîne. En effectuant cette opération, la taille de la chaîne augmente de 1.
str.push_back('!');
cout<<str;
La sortie du code ci-dessus aura un point d'exclamation (!) avec la chaîne d'origine :
Welcome To MUO!
Vous pouvez également ajouter un jeu de caractères ou une autre chaîne en parcourant et en l'ajoutant caractère par caractère. Considérons une variable de chaîne str2 , avec la valeur « Salut là-bas ». Pour ajouter cette variable à la chaîne d'origine à l'aide de la méthode push_back() :
string str2 = " Hi there";
for(auto i = str2.begin(); i!=str2.end() ;i++){
str.push_back(*i);
}
cout<<str<<endl;
Sortie :
Welcome To MUO! Hi there
4. pop_back()
La méthode pop_back() supprime le dernier caractère d'une chaîne. Voici comment vous pouvez essayer cette méthode sur la chaîne str :
str.pop_back();
cout<<str<<endl;
Sortie :
Welcome To MU
5. taille()
La méthode size() vous aide à calculer la longueur de la chaîne.
cout<<"The size of the string str is "<<str.size()<<endl;
6. copier()
La méthode copy() copie une chaîne ou une sous-chaîne complète. Il accepte trois arguments : un tableau de caractères, la longueur de la sous-chaîne et la position à partir de laquelle la chaîne doit commencer à copier.
char str2[50];
str.copy(str2, 6,2);
cout<<"The value in str2: "<<str2<<endl;
Sortie :
The value in str2: lcome
7. échanger()
La méthode swap() vous aide à échanger deux chaînes entre elles. La syntaxe de cette méthode est :
string1.swap(string2)
Cette méthode accepte une variable chaîne comme argument. Vous pouvez exécuter cette méthode sur la chaîne que vous souhaitez échanger et imprimer pour vérifier les résultats.
string str = “Welcome To MUO”;
string str2 = "Hi There";
str.swap(str2);
cout<<"String 1 str: "<<str<<endl;
cout<<"String 2 str2: "<<str2<<endl;
Sortie :
String 1 str: Hi There
String 2 str2: Welcome To MUO
8. getline()
La méthode getline() stocke un flux de caractères acceptés lors de la saisie. Cette méthode accepte deux arguments : cin et la variable chaîne.
string s;
cout<<"Enter a string"<<endl;
getline(cin,s);
cout<<s<<endl;
Sortie :
Enter a string
Welcome to MUO
9. redimensionner ()
La méthode resize() modifie la longueur de la chaîne en l'augmentant ou en la diminuant dynamiquement. Il accepte un argument : la longueur à laquelle vous souhaitez redimensionner votre chaîne.
str.resize(10);
cout<<"The value of str after resizing it: "<<str<<endl;
Sortie :
The value of str after resizing it: Welcome To
10. capacité ()
La méthode capacity() en C++ renvoie la capacité allouée à la chaîne. Il peut être égal à la longueur de la chaîne ou supérieur à celle-ci.
cout<<"The capacity of the string is "<<str.capacity()<<endl;
11. stoi()
La méthode stoi() permet de convertir un nombre sous forme de chaîne en sa valeur numérique. Il accepte un paramètre : la variable chaîne. Si votre variable de chaîne contient d'autres caractères que des nombres, elle les filtrera. Mais pour que cette méthode fonctionne, les caractères de chaîne non numériques doivent suivre les nombres. Si les caractères apparaissent avant les chiffres, cela renverra une erreur.
Avant de procéder à l'opération ci-dessus, assurez-vous de la stocker dans une variable entière avant de l'imprimer. Voici un exemple :
string s1 = "123";
int v1 = stoi(s1);
cout<<"Stoi() for s1: "<<v1<<endl;
string s2 = "123 pass";
int v2 = stoi(s2);
cout<<"Stoi() for s2: "<<v2;
Sortie :
Stoi() for s1: 123
Stoi() for s2: 123
12. rbegin() et rend()
La méthode rbegin() renvoie la référence de l'itérateur inverse à la chaîne à la fin. De même, la méthode rend() renvoie la référence de l'itérateur de démarrage à la chaîne au début.
auto beg = str.rbegin();
auto end = str.rend()-1;
cout<<"The last character is: "<<*beg<<endl;
cout<<"The first character is: "<<*end<<endl;
Vous pouvez également imprimer le verso de la chaîne en utilisant les méthodes rbegin() et rend() . Pour ce faire, vous pouvez parcourir la chaîne et l'imprimer caractère par caractère.
for(auto i=str.rbegin(); i!=str.rend(); i++){
cout<<*i;
}
Sortie :
The last character is: O
The first character is: W
OUM oT emocleW
Prenez une longueur d'avance dans l'apprentissage du C++
Maintenant que vous avez appris à implémenter diverses méthodes de chaîne de l'en- tête de chaîne , vous pouvez explorer en toute confiance d'autres méthodes prédéfinies dans les fichiers d'en-tête C++. De sort() et reverse() à binary_search() , il y a peu de C++ STL ne peut pas accomplir dans le monde du codage.
Prendre le temps de se renseigner sur la bibliothèque de modèles standard est un excellent investissement pour les programmeurs C++ de tous niveaux. La bibliothèque de modèles standard fournit des fonctions intégrées, des structures de données communes et des algorithmes pratiques pour rendre la programmation simple et efficace.