首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从ostream中读取输出?

如何从ostream中读取输出?
EN

Stack Overflow用户
提问于 2012-04-25 20:46:05
回答 1查看 3.7K关注 0票数 0

解决方案

您可以将字符串流传递到接受ostream的参数中。之后,您可以通过其str()函数获取在字符串流中设置的文本。

代码语言:javascript
复制
#include <sstream>

...

{
stringstream ss;
print(ss);
string text;
text = ss.str();
// Handle text
}

假设有一个这样的函数:

代码语言:javascript
复制
void print(ostream& stream) const;

如何访问写入ostream的数据?

我想把它解释成一个字符串:

代码语言:javascript
复制
string text;
print( text );
// Interpret text

原因是有另一个函数将指向对象的指针作为参数:

代码语言:javascript
复制
void append( *Data data );

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

代码语言:javascript
复制
// This is a public function in the Data class
void append( *Data data ) {
    string text;
    data->print( text );
    // append data to this Data object
}

我试图转换成一个串流,但这不起作用。我在想,如果我可以将数据保存到一个文件中,然后读取它作为解决办法。

EN

回答 1

Stack Overflow用户

发布于 2012-04-25 20:50:53

而不是这个。

代码语言:javascript
复制
string text;
print( text ); 

...try这个。

代码语言:javascript
复制
ostringstream text;
print( text ); 

然后你可以使用写成" text“的文本。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10315923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档