title: boost::format and wchar_t
body: <p>I am trying to format a string using boost:</p>
  
  <pre><code>wchar_t *msg;
  // fill msg
  boost::format("Error: %s") % msg).str()
  </code></pre>
  
  <p>What I get instead of msg's content, is the address of msg in hex. </p>
  
  <p>No success with things like these:</p>
  
  <pre><code>boost::format("Error: %s") % new std::wstring(msg)
  boost::format("Error: %1%") % msg
  </code></pre>
  
  <p>Note: Even though I think it's irrelevant, but the way that I fill msg is:</p>
  
  <pre><code>FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER | 40, NULL, GetLastError(), MAKELANGID(0, SUBLANG_ENGLISH_US), (LPTSTR) &amp;msg, 512, NULL);
  </code></pre>
  
  <p>and Visual Studio Watch displays the content of msg correctly.</p>