我正在尝试创建一个使用MEAN堆栈运行c / c ++程序的应用程序。我有一个用户界面可以编写程序,节点作为后端,可以通过子进程编译程序。
使用以下命令正确执行了带有printf选项的基本c程序。
程序文件名:test.c
#include<stdio.h>
int main(){
printf("hello world");
return 0;
}
节点命令: 为了编译文件,我使用了子进程“exec(”gcc -o test test.c“,fun(){...})”,它创建了没有任何扩展名的二进制输出文件(test)。
要运行二进制执行文件,我使用“exec(”./ test“,fun(error,stdout,stderr){...}))”并将输出返回为“hello world”。
但如果我在程序中使用“scanf”语句, 例如:
#include<stdio.h>
int main(){
int a;
scanf("%d",&a);
printf("The number is", a);
return 0;
}
此处运行程序的命令无效。它只是执行程序,我没有得到任何输出。
在这种情况下,我希望节点子进程等待用户从UI输入“a”值(即:angular)并返回输出。
提前谢谢。