[溶液]
您可以将字符串流传递到带有ostream的参数中。之后,您可以通过str()funktion获取在stringstream中设置的文本。
#include <sstream>
...
{
stringstream ss;
print(ss);
string text;
text = ss.str();
// Handle text
}
鉴于有这样的功能:
void print(ostream& stream) const;
如何访问写入ostream的数据?
我正在考虑将其解释为字符串:
string text;
print( text );
// Interpret text
原因是另一个函数有一个指向对象的指针作为参数:
void append( *Data data );
我必须使用数据对象print方法来获取其数据:
// This is a public function in the Data class
void append( *Data data ) {
string text;
data->print( text );
// append data to this Data object
}
我试图转换为字符串流,但这不起作用。我在想是否可以将数据保存到文件中,然后将其作为解决方法阅读。
答案 0 :(得分:3)
而不是......
string text;
print( text );
...试试这个......
ostringstream text;
print( text );
然后您可以使用写入“文本”的文本。