2010-11-22 11 views
1

Ich habe ein String-Array deklariert String s;Wie nimmt man die String-Länge eines String-Arrays?

Ich habe versucht, die Länge der Zeichenfolge durch Angabe von Strlen (s) zu finden, aber es hat nicht funktioniert. Wie bekomme ich die Länge der Saite?

+1

Zeigen Sie die Deklaration, nur um klar zu sein –

+0

String (mit einem Großbuchstaben S) ist keine Klasse im C++ Standard angegeben. Wenn Sie nicht sagen, welche Bibliothek Sie verwenden, kann niemand sicher sagen, welche Funktionen es bietet, um Ihnen die Länge zu sagen. Gemeinsame Optionen sind jedoch Datenelemente wie s.length(), s.size(). Sie können sich die von Ihnen eingeschlossene Kopfzeile ansehen, um auf die Klasse zuzugreifen, und sehen, welche Funktionen sie bereitstellt. –

Antwort

2

Die Funktion strlen keine Zeichenfolge nehmen, aber eine Reihe von Zeichen. Beispiele finden Sie unter this reference. Wenn Sie den Typ String verwenden, werden Sie feststellen, es Länge ist mit der Funktion length(), wie folgt aus:

std::string text = "Some text"; 
int length = text.length(); 

Weitere Beispiele this other question sehen.

1

Verwenden Sie die Mitgliedsfunktionslänge().

1
string s; 

erklärt ein strings genannt, nicht ein Array von Strings, die

string array[10]; 

zum Beispiel sein würde. Um die Länge einer Zeichenfolge zu erhalten, rufen Sie seine size() oder length() Methode:

size_t len = s.size(); 
+0

Den * std * -Namespace nicht vergessen. – Simone

+0

Natürlich. Das obige nimmt an, dass Sie ein using std :: string hinzugefügt haben; früher in der Datei. :) – dandan78

+3

Ich glaube nicht, dass es eine sichere Verbindung ist, das OP verwendet String, der nicht einmal den richtigen Namen hat :) – Simone

0

Viele Methoden, die ich gesehen habe nehmen eine const char * (die auch die 'Zeichenfolge' sein kann, die er bezieht) Schleife durch die Variable, bis sie ein NULL \0 Zeichen treffen.

Dies ist oft, wie "String-Arrays" beendet werden und in der Regel ein guter Halt, um die Länge der Zeichenfolge zu berechnen.

Verwandte Themen