我正在尝试使用gcc编译器执行c代码。我创建了一个dynamic_code.c文件,就像这样
#include <stdio.h>
int main()
{
char ch;
char str[100];
printf("Enter any character \n");
scanf("%c", &ch);
printf("Entered character is %c \n", ch);
printf("Enter any string ( upto 100 character ) \n");
scanf("%s", &str);
printf("Entered string is %s \n", str);
}
现在使用gcc编译器我想在生成输出时执行它。条件是在编译期间传递的输入。
使用php
$input = 's world';
exec("gcc dynamic_code.c -o dynamic_code");
$string="echo '".$input."' | ./dynamic_code";
$output=exec($string);
$json = json_encode($output);
echo $json;
输出来了
"Entered string is world"
我如何制作
Enter any character
Entered character is S
Enter any string ( upto 100 character )
Entered string is world
由于 编辑: 看到这个......我想要这样的东西 http://cfiddle.net/jlmKDA
我认为问题是要收集所有输出...只存储最后一个printf输出
答案 0 :(得分:0)
$output=exec($string)
会将$output
设置为命令结果中的 last 行。
使用
exec($command, $output);
print_r($output);
如果输出参数存在,那么指定的数组将被命令的每一行输出填充。尾随空格(例如\ n)不包含在此数组中。 ...