title: Convert wide CString to char*
body: <p>There are lots of times this question has been asked and as many answers - none of which work for me and, it seems, many others. The question is about wide CStrings and 8bit chars under MFC. We all want an answer that will work in ALL cases, not a specific instance.</p>
  
  <pre><code>void Dosomething(CString csFileName)
  {
      char cLocFileNamestr[1024];
      char cIntFileNamestr[1024];
      // Convert from whatever version of CString is supplied
      // to an 8 bit char string
      cIntFileNamestr = ConvertCStochar(csFileName);
  
      sprintf_s(cLocFileNamestr, "%s_%s", cIntFileNamestr, "pling.txt" );
      m_KFile = fopen(LocFileNamestr, "wt");
  }
  </code></pre>
  
  <p>This is an addition to existing code (by somebody else) for debugging.
  I don't want to change the function signature, it is used in many places.
  I cannot change the signature of sprintf_s, it is a library function.</p>