我是 boost::iostreams
的新手,所以这可能是微不足道的:
假设 namespace io = boost::iostreams;
这行得通
io::filtering_ostream out(std::cout);
out << "some\nstring\n";
这行得通
std::string result;
io::filtering_ostream out(io::counter() | io::back_inserter(result));
out << "some\nstring\n";
然而这并不能编译
io::filtering_ostream out(io::counter() | std::cout);
out << "some\nstring\n";
如何通过管道传输到 std::cout
?
最佳答案
用 boost::ref 包装 std::cout
为我工作:
io::filtering_ostream out(DummyOutputFilter() | boost::ref(std::cout));
参见 pipable docs 中的注释 1了解详情。
关于c++ - 如何使用 boost::iostreams 管道进入 std::cout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21031502/