php如何从exe文件接收多个cout?

时间:2017-01-19 20:23:45

标签: php c++

我是php的新手,我的代码如下:

<?php
   $output = exec("$cmd",$output);
   echo $output
?>

并且c ++代码将如下所示(不准确),

#include <iostream>
using namespace std;
int main()
{

for(int i=0;i<5;i++)
{
   cout<<a[i]=i<<endl;
}
    cout<<"2"<<endl;
    cout<<"3"<<endl;
}

所以,如果我喜欢它,输出将只是最后一个cout值(这里只是一个&#34; 3&#34;),我想知道我可以使用某种方法来获得所有输出,就像它在终端中运行一样,例如: &#34; 0123423&#34;

1 个答案:

答案 0 :(得分:1)

exec()使用所有输出的数组填充第二个参数(通过引用传递的变量)。然后,您将使用返回值(最后一行输出)覆盖该变量。所以不要这样做:

$last_line = exec($cmd, $all_output);

echo $last_line;
print_r($all_output);

考虑system()passthru()只显示输出。