【问题标题】:Convert an ostream into a string (not a sstream)将 ostream 转换为字符串(不是 sstream)
【发布时间】:2011-05-27 14:17:17
【问题描述】:

我特别需要将 ostream 转换为字符串。更准确地说,我有一个功能:

ostream& f(ostream& out); 

(该函数主要用于

stringstream test;
ofstream tmp;
test << f(tmp);
string foo(test.str());

但字符串只包含 0。 有人对此有解决方案吗?

谢谢

【问题讨论】:

  • 我不明白你所说的“ostream 中有什么”是什么意思——ostream 是输出流的抽象——你的意思是在给定点的缓冲区中有什么吗?

标签: string ostream sstream


【解决方案1】:

尝试使用ostringstream 类而不是ofstream

ostringstream test;
test << f(test);
string foo(test.str());

【讨论】:

  • 非常感谢您的快速和准确;有一个后续问题:订单如何运作?
  • 哪个订单?你的意思是语句执行的顺序吗?
  • 我的意思是:如果你写: test
  • 这取决于你的函数 f(test) 做什么。如果它写入流,则它首先执行,修改流,然后将字符串复制到该流。我建议你甚至可以简单地写 f(test)
猜你喜欢
  • 2013-09-26
  • 2021-10-13
  • 2011-03-31
  • 2016-08-21
  • 2015-09-16
  • 1970-01-01
  • 2021-04-21
  • 2019-10-10
相关资源
最近更新 更多