title: std::string to LPCTSTR
body: <p>New version of the typical question of how to convert from <code>std::string</code> to <code>LPCTSTR</code>.</p>
  
  <p>Reading from different SO posts I learnt that I should do this:</p>
  
  <pre><code>CreateDirectory(path.c_str(),NULL);
  </code></pre>
  
  <p>And still the compiler gives error because <code>cannot convert from const char * to LPCTSTR</code>.</p>
  
  <p>I tried:</p>
  
  <pre><code>CreateDirectory((LPCTSTR)path.c_str(),NULL);
  </code></pre>
  
  <p>No errors!</p>
  
  <p>Still the directory created (in the correct place) is called:</p>
  
  <pre><code>D:\\something\\㩄ぜ弲久䅓余屓䱆彄湡敤屲䵉ⴱ㠶ⴰⵃㅇ㉜洰⵭就䥄牃獥汵獴촀췍췍췍췍췍췍췍﷍﷽꯽ꮫꮫꮫﺫﻮﻮ
  </code></pre>
  
  <p>which is not exactly what I wanted, as you can guess...</p>
  
  <p>So what am I missing? Is it something related with UNICODE/ANSI? How can I resolve this?</p>