std::string kürzen
-
hi,
wie kürze ich im nachenein einen std::string zb beistd::string str; char str_[1000]; ... str = str_;
wäre mein std::string 1000 zeichen lang und das macht sich schlecht bei der ausgabe
also möchte ich ihn zb nach dem 50 zeichen abschneiden
-
bei einem char array sehe das ja folgendermaßen aus:
char str_[1000]; char str_[50] = 0;
-
std::cout << str.substr (0, 50);
Mit deinem Vorgehen zerstörst du übrigens das 51. Zeichen.
-
stimmt, spielt aber auch keine allzugroße rolle in meinem programm :p
danke
-
Mit der Anweisung "str=str_" wird dein String so lang, wie du das Array vorher gefüllt hast (vom Anfang bis zum ersten \0 Zeichen).
Btw, statt per substr() würde ich den String lieber per resize() auf die richtige Länge stutzen:
if(str.length()>50) str.resize(50);
(da erspartst du die die Umkopiererei)