Запись в STDIN программы на C из PHP - PullRequest
2 голосов
/ 09 ноября 2011

У меня практически нет опыта работы с PHP вообще.У меня есть программа на C, которую я хотел бы вывести в онлайн (она требует большого объема вычислений, я бы предпочел хранить ее на C), поэтому мой вопрос заключается в следующем: как мне написать на STDIN программы на C с использованием PHP (и прочитатьиз его УТВЕРЖДЕНИЯ)?Например, взять строку из формы HTML или что-то похожее и записать ее в STDIN.

Ответы [ 4 ]

2 голосов
/ 09 ноября 2011

Короче говоря, проверьте это: http://php.net/manual/en/function.proc-open.php

1 голос
/ 09 ноября 2011

Попробуйте использовать fwrite и fget

fwrite(STDOUT, "\n-CMD$: "); //Output 
$site = fgets(STDIN)   // Get Input
1 голос
/ 09 ноября 2011

Взгляните на раздел Выполнение системной программы руководства.
Esp. proc_open - выполнить команду и открыть указатели на файл для ввода / вывода

Вы также можете передать параметр в качестве аргумента исполняемому файлу и получить вывод, который легко можно сделать с помощью escapeshellarg () и exec ()

Вас также может заинтересовать http://www.swig.org/

SWIG - это инструмент разработки программного обеспечения, который соединяет программы, написанные на C, иC ++ с множеством языков программирования высокого уровня.SWIG используется с различными типами целевых языков, включая распространенные языки сценариев, такие как Perl, PHP, Python, Tcl и Ruby.
0 голосов
/ 09 ноября 2011

Если ваша php-программа просто отображает строки (используя echo),

php -f program.php | c_program
...