C ++显示输出到php

时间:2013-12-10 12:48:46

标签: php c++ console

我有一个C ++控制台应用程序返回某种东西,然后,我需要在浏览器中显示它。所以我尝试将每个console.write从C ++写入.txt文件以供将来的PHP阅读,但没有成功,因为它没有写错误!

然后我尝试在PHP上使用exec('program.exe', $output);但是也没有成功..:/

  • 还有其他办法吗?
  • 或者C ++中写入控制台中出现的每一件事.txt的任何函数?
  • 或者另一种编程语言中的某些函数可以捕获控制台中的所有内容吗?

2 个答案:

答案 0 :(得分:0)

你必须明白 cout (标准输出)和 cerr (标准错误输出)是两个不同的流,所以你可能忘了重定向 cerr < / strong>也是你的文本文件。这里有一些你可以使用的想法:

  • 将您的信息流重定向到代码中的文件(请参阅How to redirect cin and cout to files?
  • 通过以executable.exe > out.txt 2>&1方式调用,从命令行重定向任何控制台程序的输出(您无需更改代码并在Windows和unix / linux上运行)(请参阅Redirect all output to file
  • 使用TCP套接字将您的Web应用程序连接到您的控制台应用程序(如果应用程序需要某种交互式控制,则可能是一种开销,但很有用)

答案 1 :(得分:-1)

有三个标准文件句柄称为stdin, stdout, stderr。看起来你现在只是在拿stdout。尝试将stderr重定向到stdout。

exec('program.exe 2>&1', $output);

(不仅适用于* nix,还适用于win32)。

另见:In the shell, what does " 2>&1 " mean?