如何读取ostream的输出?

时间:2012-04-25 12:46:05

标签: c++

[溶液]

您可以将字符串流传递到带有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
}

我试图转换为字符串流,但这不起作用。我在想是否可以将数据保存到文件中,然后将其作为解决方法阅读。

1 个答案:

答案 0 :(得分:3)

而不是......

string text;
print( text ); 

...试试这个......

ostringstream text;
print( text ); 

然后您可以使用写入“文本”的文本。