将用户输入传递给服务器以进行 C++ 编译

Passing user input to server for C++ compilation

我正在为一个学校项目构建一个在线 C++ 编译器。现在我可以将客户端在网页中写入的 c++ 代码发送到服务器,使用 g++ 对其进行编译,运行 它并将输出重定向到一个文件并将结果直接发送回客户端。问题是当代码包含要求用户输入的内容(例如:std::cin)时,我的服务器停止工作。我能做些什么来解决这个问题?我正在考虑使用代码传递值(假设客户端将有一个单独的输入值框),但我不知道如何将该输入传递给终端。(我想编写一个 bash 脚本做这样的事情):

g++ tmp.cpp
./a.out
//here it stops because i should give it user input

有什么想法吗?

编辑:我想使用盒子里的一些值 https://www.codechef.com/ide 这个网站就是一个例子。 (自定义输入)

您可以像管道一样使用重定向 |:

cat input.txt | ./a.out

echo $user_input | ./a.out