【问题标题】:Pipes to C++ StreamsC++ 流的管道
【发布时间】:2011-04-10 23:37:14
【问题描述】:

是否可以将通过 POSIX 系统上的 pipe() 生成的管道转换为 std::istreams 和 std::ostreams? 如果是,怎么做?

我更喜欢使用 > 而不是 read() 和 write()

提前致谢

【问题讨论】:

  • 我从未见过有人用这样的连字符连字符。我完全同意。

标签: c++ ipc posix pipe iostream


【解决方案1】:

有些非标准构造函数采用文件描述符编号或 FILE*。见http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-api-4.5/a00074.html#a777faeb6849444b4663d1cbe543e1ae3

【讨论】:

  • __gnu_cxx::stdio_filebuf buf(pipe, std::ios::in); iostream 输出(&buf);
【解决方案2】:

查看http://www.netbsd.org/~jmmv/process/http://www.highscore.de/boost/process/

编辑http://svn.boost.org/svn/boost/sandbox/process/

我忘记了哪个托管了最新的源,但它是一个非常好的跨平台 IPC 库,支持管道。

这实际上不是提升的一部分,但他们想要(或想要)它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-01
    相关资源
    最近更新 更多