C++:
Trouver la longueur d'une chaîne de caractères
How to:
Utilisez std::string
et sa méthode length()
pour obtenir la taille facilement.
#include <iostream>
#include <string>
int main() {
std::string texte = "Bonjour!";
std::cout << "La longueur de la chaîne est: " << texte.length() << std::endl;
return 0;
}
// Sortie:
// La longueur de la chaîne est: 8
Si vous manipulez des chaînes C-style (char
arrays), utilisez strlen
de <cstring>
.
#include <iostream>
#include <cstring>
int main() {
char texte[] = "Bonjour!";
std::cout << "La longueur de la chaîne est: " << strlen(texte) << std::endl;
return 0;
}
// Sortie:
// La longueur de la chaîne est: 8
Deep Dive
Dans le passé, en C, on utilisait strlen
qui parcourt la chaîne jusqu’au caractère nul pour déterminer la longueur. C’est une opération en temps linéaire O(n).
Avec C++, std::string
stocke sa longueur, donc obtenir la longueur est une opération en temps constant O(1). Mais si vous utilisez encore des chaînes C, attention aux dépassements de tampons - c’est pourquoi on préfère std::string
.
std::string::size()
est un synonyme de std::string::length()
. Utilisez celui que vous trouvez le plus clair. Pour les suites de caractères Unicode et autres besoins avancés, regardez du côté de bibliothèques spécialisées comme ICU.