需要帮助才能实施以下内容。我有一个C程序文件如下:
#include <stdio.h>
main()
{
int x;
int args;
printf("Enter an integer: ");
if (( args = scanf("%d", &x)) == 0) {
printf("Error: not an integer\n");
} else {
printf("Read in %d\n", x);
}
if (( args = scanf("%d", &x)) == 0) {
printf("Error: not an integer\n");
} else {
printf("Read in %d\n", x);
}
}
我生成了一个a.out,现在我想用exec(“a.out”,$ output)调用这个a.out。但我的问题是,当我要求时,我正在学习如何传递整数的值。我尝试使用proc_open()但我无法理解它的用法。如果你能给我一段PHP代码来传递这两个值并最终打印收到的结果,我将非常感谢你的帮助。
最好的问候
答案 0 :(得分:3)
我的猜测是
$descriptorspec = array(
0 => array("pipe", "r"),
1 => array("pipe", "w")
);
$process = proc_open('/full/path/to/a.out', $descriptorspec, $pipes);
if (is_resource($process)) {
list ($out, $in) = $pipes;
fwrite($out, "5\n");
fwrite($out, "7\n");
echo stream_get_contents($in);
}