解决方案
您可以将字符串流传递到接受ostream的参数中。之后,您可以通过其str()函数获取在字符串流中设置的文本。
#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
}我试图转换成一个串流,但这不起作用。我在想,如果我可以将数据保存到一个文件中,然后读取它作为解决办法。
发布于 2012-04-25 20:50:53
而不是这个。
string text;
print( text ); ...try这个。
ostringstream text;
print( text ); 然后你可以使用写成" text“的文本。
https://stackoverflow.com/questions/10315923
复制相似问题