J'ai déclaré une chaîne de caractères String s;Comment prendre la longueur de chaîne d'un tableau String?
J'ai essayé de trouver la longueur de la chaîne en donnant strlen (s) mais cela n'a pas fonctionné. Comment obtenir la longueur de la chaîne?
J'ai déclaré une chaîne de caractères String s;Comment prendre la longueur de chaîne d'un tableau String?
J'ai essayé de trouver la longueur de la chaîne en donnant strlen (s) mais cela n'a pas fonctionné. Comment obtenir la longueur de la chaîne?
La strlen fonction ne prend pas une chaîne, mais un tableau de caractères. S'il vous plaît voir this reference pour des exemples. Si vous utilisez la chaîne de type que vous trouverez sa longueur en utilisant la fonction length(), comme ceci:
std::string text = "Some text";
int length = text.length();
Pour plus d'exemples voir this other question.
Utilisez la longueur de la fonction membre().
string s;
déclare un string
nommé s
, et non un tableau de chaînes, ce qui serait
string array[10];
par exemple. Pour obtenir la longueur d'une chaîne, vous appelez sa méthode size()
ou length()
:
size_t len = s.size();
Beaucoup de méthodes que j'ai vues prennent un const char *
(qui pourrait aussi être la 'chaîne' à laquelle il fait référence) parcourront la variable jusqu'à ce qu'elles atteignent un caractère NULL \0
.
C'est souvent comme cela que les 'tableaux de chaînes' sont terminés et sera généralement un bon arrêt pour calculer la longueur de la chaîne.
Afficher la déclaration, juste pour être clair –
La chaîne (avec une majuscule S) n'est pas une classe spécifiée dans la norme C++. Si vous ne dites pas quelle bibliothèque vous utilisez, personne ne peut dire avec certitude quelles fonctions il fournit pour vous dire la longueur. Néanmoins, les options communes sont les membres de données tels que s.length(), s.size(). Vous pouvez regarder l'en-tête que vous incluez pour avoir accès à la classe et voir les fonctions qu'elle fournit. –