如何捕获将 ostream 作为参数的 void 函数的输出放入字符串流中?
假设我们有:
void print(std::ostream &o) {
o << "Hello World!";
}
和:
int main() {
std::stringstream ss;
ss << print(std::cout); // does not work
std::string outputString = ss.str();
std::cout << outputString << endl;
}
我知道这将无法正常工作,因为print()具有void。我将如何更改代码以使其正常工作?
解决方案:
int main() {
std::stringstream ss;
print(ss);
std::string outputString = ss.str();
std::cout << outputString << endl;
}
Let's say we have:
void print(std::ostream &o) {
o << "Hello World!";
}
and:
int main() {
std::stringstream ss;
ss << print(std::cout); // does not work
std::string outputString = ss.str();
std::cout << outputString << endl;
}
I understand this will not working because print() has type void. How would I change my code for this to work?
Solution:
int main() {
std::stringstream ss;
print(ss);
std::string outputString = ss.str();
std::cout << outputString << endl;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论