我一直在尝试在我的网站上实现一个ide。 就像我想要运行这个程序一样:
/* add c headers if necessary*/
#include <stdio.h>
/* Include other headers as needed */
int main()
{
/* Enter your code here. Read input from STDIN. Print output to STDOUT */
int a,b;
scanf("%d%d",&a,&b); // requires user input
return 0;
}
该程序将使用某些脚本在我的Linux服务器上执行。
由于此程序需要用户输入,我已向用户提供了一个文本框以提供该输入。然后,我将该输入保存在我后端的某个文件中,并通过该文件提供给我的程序,相应的结果显示在我的网页上。
但现在我希望用户逐个输入。
为此我需要抓住它需要通过我的脚本输入然后我将终止我的脚本并发送响应给用户输入.... 然后将该输入提供给程序,如果再次需要输入,则再次执行相同操作。
如果不清楚,请问......
答案 0 :(得分:1)
非常similar question没有令人满意的答案。
也许你可以从不同的角度解决问题。而不是
您可以立即发送输出和输入。在终端中,用户始终可以键入。模拟您网站上的行为。
立即发送内容应该是可行的。有些网站会立即发送输入和输出,例如像this one这样的etherpads(尝试在同一时间和网站上打开普通和私人浏览器窗口)。
在您的服务器上,您可以将用户的输入和程序输出存储在两个临时文件中。对于一个会话,您可以运行类似以下脚本的内容
# skeleton of the server script
compile program.c
createEmptyFiles input output
tail -f input | ./program > output
此外,您需要将用户的输入提供给input
,并将程序的输出发送给用户。