0

[解决方案]

您可以将 stringstream 传递到采用 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 );

而且我必须使用数据对象打印方法来获取它的数据:

// This is a public function in the Data class
void append( *Data data ) {
    string text;
    data->print( text );
    // append data to this Data object
}

我试图转换为字符串流,但没有奏效。我在想是否可以将数据保存到文件中,然后将其作为解决方法读取。

4

1 回答 1

3

而不是这个...

string text;
print( text ); 

...尝试这个...

ostringstream text;
print( text ); 

然后就可以用文字写成“文字”了。

于 2012-04-25T12:50:52.753 回答