Trouver la longueur d'une chaîne de caractères

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.

See Also