web-dev-qa-db-ja.com

ostreamを標準の文字列に変換する

私はC++ STLが初めてなので、これは簡単なことかもしれません。テキストが入ったostream変数があります。

ostream* pout;
(*pout) << "Some Text";

ストリームを抽出してchar*型の文字列に保存する方法はありますか?

60
Stephen Diehl
     std::ostringstream stream;
     stream << "Some Text";
     std::string str =  stream.str();
     const char* chr = str.c_str();

そして、私はこれに対する答えで何が起こっているのかを説明します 質問 、私は1時間前に書きました。

58
James Curran

質問はostreamから文字列へ、notostringstreamから文字列へ。

実際の質問に回答することに興味がある人(ostreamに固有)には、これを試してください:

void someFunc(std::ostream out)
{
    std::stringstream ss;
    ss << out.rdbuf();
    std::string myString = ss.str();
}
149
Foo

std::ostringstream

   std::ostringstream os;
   os<<"Hello world";
   std::string s=os.str();
   const char *p = s.c_str();
6
Prasoon Saurav