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.