在字符串上多次使用 _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: 1: 我们有我的String - & gt; H e l l o
但是在第2点:R o c k 是否被复制到 H e l l 上, 而 o 留下? 或者它现在指向记忆中的新区域? 难道我需要删除并像在 3 中那样重新创建我的String 吗? 如果我先复制String2 然后复制String1 呢? 有什么不同吗?还有什么其他有用的信息吗?
感谢您抽出时间 祝你今天愉快