Hallo, wer kann mir das erklären ?
Der folgende Code funktioniert im VC6 so.
Ausgabe : Astr1 = Test, Astr2 = Te, str1 = Test, str2 = Te, *pstrTest = Test, str3 = Te
Im VC7 2003:
Ausgabe : Astr1 = Te, Astr2 = Te, str1 = Te, str2 = Te, *pstrTest = Te, str3 = Te
Der folgende Code funktioniert im VC6 so.
Ausgabe : Astr1 = Test, Astr2 = Te, str1 = Test, str2 = Te, *pstrTest = Test, str3 = Te
Im VC7 2003:
Ausgabe : Astr1 = Te, Astr2 = Te, str1 = Te, str2 = Te, *pstrTest = Te, str3 = Te
Code:
CString* pstrTest = new (CString);
CString str1;
CString str2;
CString str3;
CStringA Astr1;
CStringA Astr2;
Astr1 = "Test";
Astr2 = Astr1;
Astr2.ReleaseBuffer(2);
str1 = "Test";
str2 = str1;
str2.ReleaseBuffer(2);
*pstrTest = "Test";
str3 = (*pstrTest);
str3.ReleaseBuffer(2);
CString strText;
strText.Format("Astr1: %s, Astr2: %s, str1: %s, str2: %s,pstrTest: %s, str3: %s",Astr1
,Astr2,str1,str2,*pstrTest,str3);
MessageBox(NULL,strText,NULL,NULL);