Length eines Strings

Olaf Lehmann

Mitglied
Hallo,

erstmal vorneweg. Bin mir nicht 100ig sicher, ob ich im richtigen Forum bin.
Ich arbeite neuerdings mit Visual C++2008 Express Edition/ Windows Forms, also sollte es eigentlich richtig sein.

Erstmal ein Stück Code
Code:
String ^text;
text = "blalala";
//text = arVor[1];
int lang; lang = text->Length;
text=text->Insert(lang,arNach[1]); 
this->label1->Text = text;
Also, ich will an einen String einen anderen anhängen und dieser zusammenhängende String wird dann in Label1 ausgegeben.
So wies da steht klappt es wie es soll.
Jetzt ist blalala aber natürlich nicht richtig, sondern der erste String steckt in einem String array, welches so angelegt wurde:
Code:
array<String^> ^arVor = gcnew array<String^>(20);
array<String^> ^arNach = gcnew array<String^>(20);
Wenn ich nun blalala auskommentiere und dafür die nächste Zeile einkommentiere, klappts nicht mehr. Dann erscheint im Label1 nur noch der Inhalt von arVor[1].
Wenn ich nach Length eine () anhänge - wie ich eigentlich dachte, kommt eine Fehlermeldung.
:confused:

MfG Olaf
 
Danke für den Tipp, führt in dem Falle aber nicht zum Ziel.

Ich hab jetzt gemerkt lang ergibt immer 16. arVor [1] ist also immer 16 Bytes lang.
Das liegt an der Art des Einlesens, die sich aber nicht vermeiden lässt. Es müssen beim Einlesen aus der Datei immer 16 Bytes eingelesen werden, obwohl der eigentliche String in der Regel kürzer ist. Ich dachte immer der Rest wären Nullterminierungszeichen und die werden von length ignoriert.
Ich hab versucht so
Code:
text = text->Trim();
überfüssiges am Ende abzuschneiden, geht aber auch nicht.

MfG Olaf

P.S.: Jetzt hab ichs. Das hilft:
Code:
lang = text->IndexOf("\0");
text=text->Insert(lang,arNach[1]);
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück