title: Managed c++ std::string not accessible in unmanaged c++
body: <p>In unmanaged c++ dll i have a function which takes constant <code>std::string</code> as argument</p>
  
  <pre><code> Prototype : void read ( const std::string &amp;imageSpec_ )
  </code></pre>
  
  <p>I call this function from managed c++ dll by passing a <code>std::string</code>.<br>
  When i debug the unmanaged c++ code the parameter <code>imageSpec_</code> shows the value correctly but does not allow me to copy that value in other variable.</p>
  
  <pre><code> imageSpec_.copy( sFilename, 4052 );
  </code></pre>
  
  <p>It shows length of <code>imageSpec_</code>     as 0(zero).<br>
  If i try copying like <code>std::string sTempFileName(imageSpec_);</code> this statement string new string is a empty string.  </p>
  
  <p>But for <code>std::string sTempFileName(imageSpec_.c_str());</code> this statement string gets copied correctly. i.e. with charpointer string is copied correctly.</p>
  
  <p>Copying this way will need a major change in unmanaged c++ code.<br>
  I am building unmanaged code in Visual studio 6.0 and managed c++ in Visual studio 2008.<br>
  Is there any specific setting or code change in managed c++ that will solve the issue?</p>