文字列に対して _tcsncpy_s() を複数回使用すると、古い内容が上書きされますか? それとも、新しいコンテンツを作成してから、新しいコンテンツを指しますか? 簡単な例として、私が持っている場合:
LPTSTR myString = new TCHAR[MAX_PATH];
LPTSTR copiedString1 = "Hello";
LPTSTR copiedString2 = "Rock";
_tcsncpy_s(myString,MAX_PATH,copiedString1,5); //1
//delete [] myString; //3
//LPTSTR myString = new TCHAR[MAX_PATH]; //3
_tcsncpy_s(myString,MAX_PATH,copiedString2,4); //2
1 でわかりました: myString があります --> 'H' 'e' 'l' 'l' 'o'
しかしポイント 2: 'R' 'o' 'c' 'k' は 'H' 'e' 'l' 'l' にコピーされますが、'o' は残りますか? それとも、メモリ内の新しい領域を指していますか? 3 のように myString を削除して再作成する必要がありますか? 最初に String2 をコピーし、次に String1 をコピーした場合はどうなりますか? 何か違うことはありますか?他に知っておくと役立つことはありますか?
お時間をいただきありがとうございます。良い一日をお過ごしください。