String länge bestimmen
-
Hi....
Also ich habe grade versucht mit strlen() die länge eines strings zu ermitteln.
Leider funktioniert das aber nicht. Der grund dafür ist laut google, dass die funktion strlen() aus c ist und kein objekt von string verarbeiten kann...Jetzt stellt sich mich dir frage, wie ich das sonnst am besten mache, wenn nicht mit strlen... gibt es da in c++ ne andere funktion für?
MFG Sqwan
-
-
Oder
std::string::size()
, die macht das gleiche.
-
oder std::string.length() ...
-
Skym0sh0 schrieb:
oder std::string.length() ...
Lesen kann natürlich schon von Vorteil sein...
-
Ach was, strlen(str.c_str());
-
Fellhuhn schrieb:
Ach was, strlen(str.c_str());
Wenn dann:
std::char_traits< std::string::value_type >::length( foo.c_str() );
-
Wie wäre es damit?
std::distance(str.begin(), str.end());
Gibt schon verdammt viele Möglichkeiten.
@sqwan,
Die erwähnt Website (www.cpluplus.com) solltest du dir merken. Die Referenz ist zwar nicht ganz vollständig, aber für solche Dinge sehr hilfreich und löst die Probleme äusserst schnellGrüssli
-
also.... ich habe es geändert...
Aber jetzt habe ich ein anderes problem...
wenn ich mache:
"hier steht was" + ein integer + "hier steht noch etwas";
dann gibbts ne menge doofe fehler.
Jetzt habe ich versucht das zu casten.... aber das geht aus einem grund nicht.(string)str.length() funktioniert nicht...
und itoa funktioniert zwar beim compilieren, aber danach gibbet nen laufzeitfehler... Gibbts da ne andere möglichkeit aus dem integer nen string zu machen?
-
Die FAQ ist auch eine super Anlaufstelle:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39488.htmlGrüssli
-
Hallo
Da geht sehr gut per stringstream oder boost:lexical_cast und dazu gibt es einen Eintrag in den FAQ.
chrische
-
Danke... stringstream habe ich jetzt verwendet...
ist sehr einfach, kurz ud funktioniert auch noch....thx...
MFG Sqwan