std::string func()
{
...
std::string str = "xxxxx";
reutrn str;
}
void main()
{
...
const char *str = func().c_str(); //此处str赋值后为空,func返回的std::string被释放了
}
改为
void main()
{
...
std::sring str1 = func(); //必须新建一个string对象保存返回的string
const char *str = str1.c_str(); //正常赋值
}