title: C++ style cast from unsigned char * to const char *
body: <p>I have:</p>
  
  <pre><code>unsigned char *foo();
  std::string str;
  str.append(static_cast&lt;const char*&gt;(foo()));
  </code></pre>
  
  <p>The error: <code>invalid static_cast from type ‘unsigned char*’ to type ‘const char*’</code></p>
  
  <p>What's the correct way to cast here in C++ style?</p>