我们有一个外部程序(20 年前的 .exe;我们没有源代码),它从一个文件(例如“input.txt”)读取输入并将结果写入另一个文件(例如“output.txt”) . 该程序还将一些输出打印到控制台。我想用各种输入文件执行这个程序数百万次,并对结果做一些事情。我为此使用 C++。
目前我已经编写了一个程序,它 1) 写入一个输入文件,2) 使用 popen() 执行外部程序,以及 3) 从控制台输出读取结果。
但是,文件操作不是很快,我想阻止程序写入输出文件,因为它与控制台输出相比很大,我只需要打印到控制台的信息。但是,如果外部程序无法打开输出文件进行写入,则执行将失败。有没有办法伪造这个,让外部程序认为它正在写一个文件,但实际上没有?该程序仍然必须访问硬盘驱动器才能读取输入文件。我更喜欢在 Windows XP 下运行的解决方案。