从 PHP 写入 C 程序的 STDIN

发布于 2024-12-15 01:22:22 字数 146 浏览 0 评论 0原文

我实际上几乎没有任何 PHP 经验。我有一个 C 程序,我想放在网上(它的计算量很大,我宁愿将其保留在 C 中),所以我的问题是:如何使用 PHP 写入 C 程序的 STDIN(并读取来自它的标准输出)?例如,从 HTML 表单或类似内容中获取字符串,然后将其写入 STDIN。

I literally have almost no PHP experience at all whatsoever. I have a C program that I'd like to put online (it's computationally intense, I'd rather keep it in C), so my question is this: How to I write to the STDIN of a C program using PHP (and read from it's STDOUT)? Like, taking a string from an HTML form, or something similar, and writing that to the STDIN.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

不甘平庸 2024-12-22 01:22:22

查看手册的系统程序执行部分。
特别是。 proc_open — 执行命令并打开文件指针以进行输入/输出

您还可以将参数作为参数传递给可执行文件并获取输出,这可以通过 escapeshellarg()exec()

您可能还对 http://www.swig.org/

SWIG 是一种软件开发工具 感兴趣它将用 C 和 C++ 编写的程序与各种高级程序连接起来编程语言。 SWIG 可与不同类型的目标语言一起使用,包括 Perl、PHP、Python、Tcl 和 Ruby 等常见脚本语言。

Take a look at the System program execution section of the manual.
Esp. proc_open — Execute a command and open file pointers for input/output

You could also pass the parameter as an argument to the executable and fetch the output which can easily be done via escapeshellarg() and exec()

You might also be interested in http://www.swig.org/

SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. SWIG is used with different types of target languages including common scripting languages such as Perl, PHP, Python, Tcl and Ruby.

少跟Wǒ拽 2024-12-22 01:22:22

尝试使用 fwritefget

fwrite(STDOUT, "\n-CMD$: "); //Output 
$site = fgets(STDIN)   // Get Input

Try using fwrite and fget

fwrite(STDOUT, "\n-CMD$: "); //Output 
$site = fgets(STDIN)   // Get Input
抱猫软卧 2024-12-22 01:22:22

如果你的 php 程序只是回显字符串(使用 echo),

php -f program.php | c_program

If your php program just echoes strings (using echo),

php -f program.php | c_program
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文