【问题标题】:Writing to the STDIN of a C program from PHP从 PHP 写入 C 程序的 STDIN
【发布时间】:2011-12-25 02:59:55
【问题描述】:

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

【问题讨论】:

    标签: php c stdout stdin popen


    【解决方案1】:

    查看手册的System program execution 部分。
    特别是。 proc_open — Execute a command and open file pointers for input/output

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

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

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

    【讨论】:

      【解决方案2】:

      尝试使用fwritefget

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

      【讨论】:

        【解决方案3】:

        长话短说,看看这个:http://php.net/manual/en/function.proc-open.php

        【讨论】:

          【解决方案4】:

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

          php -f program.php | c_program
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-12-02
            • 2012-11-19
            • 2014-01-29
            • 1970-01-01
            • 2019-03-31
            • 1970-01-01
            相关资源
            最近更新 更多