函数返回的字符串临时变量怎么保存

函数返回的字符串临时变量如何保存?
函数返回的字符串临时变量如何保存?
方法一:
char *lpszCpuName = fnGetVendor();//这里lpszCpuName有值。
std::string strInfo(lpszCpuName);// 这里lpszCpuName就没有值了。

方法二:
std::string strInfo(fnGetVendor());// 这样也试过了,还是没有值。

怎么办?


函数库是第三方的,改不了。




------解决方案--------------------
不至于这么神奇吧,不太可能呀。能给出更详细的代码不?
------解决方案--------------------
我靠,这都可以,求解释
------解决方案--------------------
C/C++ code
char *lpszCpuName = fnGetVendor();//这里lpszCpuName有值。

------解决方案--------------------
C/C++ code
char *lpszCpuName = fnGetVendor();//这里lpszCpuName有值。

------解决方案--------------------
自己 new 一个,拷贝进来再用。估计对方在strInfo函数里面释放了。