Comment interpréter une chaîne de caractères en C++
- Utiliser la boucle à base de plage pour itérer une chaîne de caractères en C++
-
Utiliser la boucle
for
pour itérer une chaîne de caractères en C++
Cet article présente plusieurs méthodes permettant d’itérer une chaîne de caractères tout en conservant le compte de l’index en C++.
Utiliser la boucle à base de plage pour itérer une chaîne de caractères en C++
Le style moderne du langage C++ recommande l’itération basée sur la gamme pour les structures qui la supportent. En attendant, l’index actuel peut être stocké dans une variable séparée de type size_t
qui sera incrémentée à chaque itération. Notez que l’incrément est spécifié avec l’opérateur ++
à la fin de la variable, parce que le mettre comme préfixe donnerait un index qui commence par 1. L’exemple suivant ne montre que la partie courte de la sortie du programme.
#include <iostream>
#include <string>
using std::cin;
using std::cout;
using std::endl;
using std::string;
int main() {
string text = "They talk of days for which they sit and wait";
size_t index = 0;
for (char c : text) {
cout << index++ << " - '" << c << "'" << endl;
}
return EXIT_SUCCESS;
}
Production :
0 - 'T'
1 - 'h'
2 - 'e'
...
43 - 'i'
44 - 't'
Utiliser la boucle for
pour itérer une chaîne de caractères en C++
Il est élégant et puissant dans la boucle for
conventionnelle, car il offre une flexibilité lorsque le champ d’application interne implique des opérations de matrice / réseau multidimensionnel. C’est également la syntaxe d’itération préférée lorsque l’on utilise des techniques de parallélisation avancées comme la norme OpenMP.
#include <iostream>
#include <string>
using std::cin;
using std::cout;
using std::endl;
using std::string;
int main() {
string text = "They talk of days for which they sit and wait";
for (int i = 0; i < text.length(); ++i) {
cout << i << " - '" << text[i] << "'" << endl;
}
return EXIT_SUCCESS;
}
Production :
0 - 'T'
1 - 'h'
2 - 'e'
...
43 - 'i'
44 - 't'
On peut aussi accéder aux caractères individuels de la chaîne avec la fonction membre at()
.
#include <iostream>
#include <string>
using std::cin;
using std::cout;
using std::endl;
using std::string;
int main() {
string text = "They talk of days for which they sit and wait";
for (int i = 0; i < text.length(); ++i) {
cout << i << " - '" << text.at(i) << "'" << endl;
}
return EXIT_SUCCESS;
}
Production :
0 - 'T'
1 - 'h'
2 - 'e'
...
43 - 'i'
44 - 't'
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn FacebookArticle connexe - C++ String
- Comparaison de chaîne et de caractère en C++
- Supprimer le dernier caractère d'une chaîne en C++
- Obtenir le dernier caractère d'une chaîne en C++
- Différences entre l'opérateur sizeof et la fonction strlen pour les chaînes en C++
- Effacer la chaîne en C++
- Imprimer toutes les permutations de la chaîne en C++