He leído varios lugares que la diferencia entre c_str() y data() (STL y en otras implementaciones) es que c_str() siempre está terminada en nulo, mientras que data() no lo es. Por lo que he visto en i
Se trata de una pequeña biblioteca que he encontrado en Internet: const char* GetHandStateBrief(const PostFlopState* state)
{
static std::ostringstream out;
// ... rest of the function ...