gpt4 book ai didi

c++ - 转换错误,std::string -> LPCSTR

转载 作者:行者123 更新时间:2023-11-28 02:01:49 27 4
gpt4 key购买 nike

<分区>

我有一个函数 Analyze_,它返回一个带有一些信息的 std::string,我不过希望它以 LPCSTR 形式出现。当我像这样使用 c_str() 时,它会工作并且我会存储我的信息:

std::string s =  myClassInstance.Analyze_();
LPCSTR l = s.c_str();

但是当我把它写得更短时,就像下面这样,我会得到一系列的 'Ỳ's:

LPCSTR l = myClassInstance.Analyze_().c_str();

它是否在 Analyze_() 之前调用了 c_str()?我想那应该是不可能的因为它是一个函数,而不是一个字符串。

我尝试了其他解决方案,例如直接从生成字符串的 stringstream 转换它并返回它,如下所示:

std::stringstream ss;
ss << "Bla blub...\n";
return ss.str().c_str();

但是我也遇到了同样的问题。为什么会这样?

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com