重複の可能性:
std :: stringstream演算子>>に文字列全体を読み取るように強制するにはどうすればよいですか?
toString()がJavaまたはC ++のオブジェクトに対してどのように機能するかと同様に、構造を文字列に変換しようとしています。これを行うには、フォーマットされたデータをstd :: stringstreamに書き込んでから、それをstd::stringに書き込みます。
これが私が持っているものです:
std::stringstream ss;
std::string packet;
ss << "Packet Length: " << p->header->len
<< " (" << p->header->caplen << ")" << std::endl
<< "Collected: " << timedate << "."
<< std::dec << p->header->ts_usecs << std::endl
<< "Eth:\tFrom: " << to_address(p->from) << std::endl
<< "\tTo: " << to_address(p->to) << std::endl
<< "\tType: " << to_hex(p->type, false)
<< " (" << p->type_name << ")" << std::endl;
しかし、何らかの理由でこのストリームをstd :: stringパケットに書き込むと:
ss >> packet;
次に、パケットの値を出力します。
cout << "Packet X " << packet << endl;
私はテキストだけを見て、他には"Packet"
何も見えません。
私がここで見逃している明らかな何かがありますか?