Frage

Ich habe ein String-Array deklariert String s;

Ich habe versucht, die Länge der Zeichenfolge zu finden, von strlen geben (s), aber es hat nicht funktioniert. Wie die Länge der Zeichenfolge bekommen?

War es hilfreich?

Lösung

Die Funktion strlen keine Zeichenfolge nehmen, sondern ein Array von Zeichen. Bitte finden Sie unter dieser Referenz für Beispiele. Wenn Sie den Typ String verwenden, werden Sie es der Länge mit der Funktion length () finden , wie folgt aus:

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

Weitere Beispiele finden Sie in dieser anderen Frage .

Andere Tipps

Verwenden Sie die Member-Funktion length ().

string s;

deklariert eine string namens s, nicht ein Array von Strings, die sein würde

string array[10];

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

size_t len = s.size();

Eine Menge von Methoden, die ich je gesehen habe einen const char * nehmen (die möglicherweise auch der ‚String‘, dass er beziehen zu) wird Schleife durch die Variable, bis sie einen NULL \0 Charakter getroffen.

Dies ist oft, wie ‚String-Arrays‘ beendet werden und wird in der Regel ein guter Halt, um die Stringlänge zu berechnen.

scroll top