カスタムString
クラスの次のコードがあります。
const String &String::operator+(const String &right)
{
String temp;
temp.length = length + right.length;
temp.sPtr = new char [temp.length + 1];
assert( sPtr != 0 );
strcpy(temp.sPtr, sPtr);
strcat(temp.sPtr, right.sPtr);
return temp;
}
はどこsPtr
ですかchar*
。
しかし、この関数を 2 つの文字列に対して実行すると、結果として次のような文字化けが発生します。
]√Hâ«Ö“x˘" = "The date is" + " August 1, 1993
何が起こっているのか少しもわかりません。結果の文字列が連結される前に文字化けが発生した人の証言をいくつか読みましたが、文字列全体が文字化けになる理由がまったくわかりません。
どんな助けでも本当に素晴らしいでしょう。前もって感謝します!