2010-11-22 5 views
1

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?

+1

Afficher la déclaration, juste pour être clair –

+0

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. –

Répondre

2

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.

1

Utilisez la longueur de la fonction membre().

1
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(); 
+0

Ne pas oublier l'espace de noms * std *. – Simone

+0

Bien sûr. Ce qui précède suppose que vous avez ajouté un en utilisant std :: string; plus tôt dans le fichier. :) – dandan78

+3

Je ne pense pas que c'est une assertion sûre, l'OP utilise la chaîne qui n'est même pas le bon nom :) – Simone

0

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.

Questions connexes