title: string c_str() vs. data()
body: <p>I have read several places that the difference between <code>c_str()</code> and <code>data()</code> (in STL and other implementations) is that <code>c_str()</code> is always null terminated while <code>data()</code> is not.
  As far as I have seen in actual implementations, they either do the same or <code>data()</code> calls <code>c_str()</code>.</p>
  
  <p>What am I missing here?
  Which one is more correct to use in which scenarios?</p>