Ускорение процесса: как перенаправить вывод процесса в файл?
Запуская процесс с использованием библиотеки 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");