title: Why does MFC C++ CString(const char*) completely changing const char* value?
body: <p>I hope the title was good enough to help explain what I am having problems with. I think once I solve this problem my project will be pretty much finished. Just a note, both projects are compiled under Unicode.</p>
  
  <p>I am working with a <code>CLI/C++</code> DLL that takes in a <code>LPCTSTR</code> and returns a <code>const char*</code>. If I store the value of the return in a <code>const char*</code> in my project while stepping through I can see the value its returning is what I expect to be returned.</p>
  
  <p>Now if I do the following:</p>
  
  <pre><code>LPCTSTR strValue = L"test";
  const char* Return = MethodCall(strValue);
  LPCTSTR Final = CString(Return);
  </code></pre>
  
  <p>Return will equal "Xmkk=Asmks" (which is what it should). This method encrypts a string. The problem is when I do <code>CString</code>, Final will equal "ﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮﻮ㹙癞鞮᠀諸²⤐²". How do I turn the <code>onst char*</code> into a <code>LPCTSTR</code> without changing its data"</p>
  
  <p>Thank you.</p>