Ускорение процесса: как перенаправить вывод процесса в файл?

Запуская процесс с использованием библиотеки Boost::Process, у меня нет проблем с чтением вывода из stdout. Однако, если бы я вместо этого хотел перенаправить стандартный вывод в файл, как бы я это сделал?

1 ответ

Предполагая, что вы используете boost.process 0.5, вы сделаете это следующим образом:

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()));

Если вы хотите использовать boost.process 0.6 (который я бы порекомендовал), просто напишите:

bp::child c("ls", bp::stdout > "my_file");
Другие вопросы по тегам