I have a method defined as below:
const std::string returnStringMethod()
{
std::string myString;
// populate myString
return myString;
}
Now, in the caller, I was doing something like this:
const char * ptr = returnStringMethod().c_str();
As I can see this is returning some truncated string which I did not expect. However, the folllowing works fine:
std::string str = returnStringMethod();
const char * ptr = str.c_str();
Can someone please help me understand whats happening here? .
PS: We build code once a week. I tested this when I was submitting my code last week and things were fine. So, I really wanted to know what I might be missing here.
thanks, Pavan.
See Question&Answers more detail:os