使用Boost :: Process库启动进程,从stdout读取输出没有问题。但是,如果我想将stdout重定向到文件,我该怎么做呢?
答案 0 :(得分:0)
猜测你使用boost.process 0.5就可以这样做:
line = cats(line,'"',putc(&charvar, vformat(&charvar)),'"');
line = cats(line,'',putn(&numvar, vformat(&numvar)),'');
如果你想使用boost.process 0.6(我推荐),你只需写:
boost::iostream::file_descriptor_sink fl("my_file");
namespace bp = boost::process;
bp::child c = bp::execute(bp::set_cmd("ls"), bind_stdout(fl.handle()));