CString
-
Hallo,
ich habe zwei CString-Objekte str1,str2.
Jetzt möchte ich beide mit einander verknüpfen.
z.B:
str3 = str1 + str2;
Funktioniert, aber wenn nun str1 == 1 und str2 == 2 ist str3 == 3 und nicht str3 == 12.Wie kann ich dieses Problem lösen?
-
Nie.
ASSERT((CString)"12" == (CString)"1" + "2");
-
str1 kann nicht == 1 sein. wenn dann
(str1 == "1")
genauso str2
-
Is das ernst gemeint ?
Wenn ja dann:
str1 = "1";
str2 = "2";
itoa(atoi(str1.GetBuffer(512))+ atoi(str2.GetBuffer(512)),str3.GetBuffer(512),10);
str3.ReleaseBuffer();
Jetzt is str3 auch "3" und nicht "12".
Aber schaue mal in ein Buch[ Dieser Beitrag wurde am 27.08.2002 um 21:28 Uhr von Peterson editiert. ]
-
Unix-Tom hat recht,
wenn die Variable vom Typ CString ist, muss es in " " stehen.
-
Wenn man den Inhalt in int umwandelt wird gerechnet und nicht einfach STRING2 an STRING1 angehängt was im Grunden strcat entspricht.