This question just came up on Stack Overflow. It reflects a pretty common misunderstanding of how C-style strings are represented by char pointers in both C and C++.
Greatly condensed, it goes:
- You read some data into a std:string object. You display the contents; it’s all there.
- You invoke c_str() on that std:string, and display its contents; it’s not all there.