使用perl或C ++运行程序

时间:2012-05-19 14:52:11

标签: c++ perl fork

我正在寻找一种评估C ++课程的方法。

我希望能够执行许多具有标准输入/输出路径的程序,因此每个程序都需要在适当的时间输出和输入信息。

最好的方法是什么?我看到有人说写一个调用fork()的C ++程序,但我的问题是你如何与相同的输入和输出屏幕进行交互? (换句话说,一旦你分叉了这个过程,你可以提供该过程输入并查看它的输出吗?)perl脚本会更好用吗?

如果是这样,你能给我几行perl脚本以及它会是什么样子。

1 个答案:

答案 0 :(得分:1)

你应该使用Posix popen或open3打开程序并与stdin和stdout交互。你应该能够用任何语言做到这一点;我个人会使用Ruby和rspec来进行评分。

http://pubs.opengroup.org/onlinepubs/009604499/functions/popen.html

请务必以具有受限权限的用户身份运行学生代码并使用chroot jail!