Libexecstream C++ 库开源项目

我要开发同款
匿名用户2014年10月11日
35阅读
开发技术C/C++
所属分类程序开发、常用工具包
授权协议BSD

作品详情

Libexecstream是C++库,允许你运行一个子进程并且获取进程的输入,输出和错误,类似标准C++流。

示例:

#include <exec-stream.h>#include <string>...try {    exec_stream_t es( "perl", "" ); // run perl without any arguments     es.in() << "print \"hello world\";"; // and make it print "hello world"     es.close_in();                        // after the input was closed     std::string hello, world;    es.out() >> hello; // read the first word of output     es.out() >> world; // read the second word }catch( std::exception const & e ) {    std::cerr << "error: "  <<  e.what()  <<  "\n";}

特性:

支持Linux和Windows

使用线程

不依赖于其他非标准库

另外一个示例:

#include <exec-stream.h>...exec_stream_t es;try {    // run command to print network configuration, depending on the operating system    #ifdef _WIN32        es.start( "ipconfig", "/all" );    #else        es.start( "ifconfig", "-a" );    #endif        std::string s;    while( std::getline( es.out(), s ).good() ) {        // do something withs    }}catch( std::exception const & e ) {    std::cerr << "error: "  <<  e.what()  <<  "\n";}

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论