我正在尝试修改模拟器以允许stdout和stderr重定向。当前,模拟器确实可以使用输入重定向,但是无法将其显式编写为<
命令,而是在配置文件中指定。
类似的想法是为stdout和stderr重定向实现相同类型的功能,其中未明确声明>
运算符,但outfile在配置文件中定义。
作为一个例子,模拟器不能与cat ex.txt > out.txt
之类的东西一起使用,但是我希望在这样的配置中实现该东西:
example_config {
command = "cat ex.txt";
output_redirect = "out.txt"
};
添加到现有项目中的少量代码在这里:
if (outputFile) {
std::string line;
std::fstream outfile;
outfile.open(outputFile, std::ios::out);
while(std::getline(std::cout, line))
outfile << line << std::endl;
outfile.close();
}
会创建输出文件,但到目前为止还没有从stdout / cout写入任何内容。任何帮助/建议将不胜感激。谢谢