防止外部程序写入文件,外部程序中不会出现错误

时间:2013-06-28 06:52:30

标签: c++ file-io windows-xp exe popen

我们有一个外部程序(20岁.exe;我们没有源代码)从文件读取输入(例如“input.txt”)并将结果写入另一个(例如“输出”)。文本”)。该程序还将一些输出打印到控制台。我想用各种输入文件执行这个程序数百万次,并对结果做一些事情。我正在使用C ++。

目前我已经写了一个程序,其中 1)写一个输入文件, 2)用popen()执行外部程序,和 3)从控制台输出中读取结果。

但是,文件操作不是很快,我想阻止程序写入输出文件,因为它比控制台输出大,我只需要打印到控制台的信息。但是,如果外部程序无法打开输出文件进行写入,则执行将失败。有没有办法伪造这个,所以外部程序会认为它正在写一个文件但实际上没有?该程序仍然必须访问硬盘驱动器来读取输入文件。我更喜欢在Windows XP下运行的解决方案。

2 个答案:

答案 0 :(得分:0)

在谷歌快速搜索:

http://www.softperfect.com/products/ramdisk/ 用于Windows XP,2003,2008,Vista,7和8的RAM磁盘。

我与这个项目无关。这不是AD。我记得在DOS时代RAM驱动器很受欢迎。似乎他们并没有完全消亡。您可以尝试使用其中一个。

答案 1 :(得分:0)

您可能不会伪造写入过程(文件),但要加快速度。 unix为此提供了tmpfs,Windows有一些RamDisk解决方案。