title: _tcsncpy_s() write over old content?
body: <p>Does using _tcsncpy_s() on a string multiple times write over the old contents? Or does it create new contents and then point to the new contents? As a simple example, if i have:</p>
  
  <pre><code>    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
  </code></pre>
  
  <p>I understand at 1: we have myString --> 'H' 'e' 'l' 'l' 'o'</p>
  
  <p>But at point 2: Does 'R' 'o' 'c' 'k' get copied over 'H' 'e' 'l' 'l', while 'o' remains? Or is it now pointing to a new area in memory? Do I need to delete and recreate myString like in 3? What if I have copiedString2 first and then copiedString1? Does anything different happen? Anything else that might be useful to know?</p>
  
  <p>Thank you for your time and have a nice day.</p>