私は関数を持っています。Analyze_、それにいくつかの情報を含むstd :: stringを返します。私は でもLPCSTRフォームにしたいと思います。 私はこのようなc_str()を使用すると、それは私の情報を作品とl店舗:変換に間違いがあります。std :: string - > LPCSTR
std::string s = myClassInstance.Analyze_();
LPCSTR l = s.c_str();
しかし、私は次のような、それは短い書くとき、私は「Yさんのシリーズを取得:
LPCSTR l = myClassInstance.Analyze_().c_str();
Analyze_()の前にc_str()を呼び出していますか?私はそれが機能ではなく、文字列ではないので、不可能でなければならないと思います。
私は、このような直接そうように、文字列を生成し、それだけを返すようにstringstreamからそれを変換するなど、他のソリューション、試してみました:
std::stringstream ss;
ss << "Bla blub...\n";
return ss.str().c_str();
をしかし、私はそこに同じ問題を抱えています。 なぜこれが起こっていますか?
TLでしたがDR:文字列オブジェクトがもう存在しない場合はc_str() - ptrを使用しないでください。 – Hayt