用 c++ 包装可执行文件的输入和输出
Wrapping executable's input and output in c++
在java中有一个程序(Minecraft),对于它的服务器部分,它在终端中打开并提示用户执行命令,以及为加载进度和其他东西提供反馈。如何制作一个c++"包装器"来自动向终端发送命令,并接收响应?
我可以使用GUI元素自动执行say和kick等命令。
大概是读写标准输入/标准输出。您应该查找在c++中执行二进制文件(在本例中为java.exe)以及如何读取和写入它。或者,您可以用Java编写一个包装器,使您不必解析文本输出就可以进行控制。
这个问题的答案取决于操作系统,因为不同的系统使用不同的方法来处理标准输入和输出通道。在UNIX系统上,您将创建一个管道(2)(如果您想分别捕获标准输出和标准错误,则可以创建两个管道),fork(2)"服务器",使用close(2)和dup(2)将各种文件描述符放入适当的位置,然后执行(2)实际的程序。在此之后,您可以读写各种描述符。
相关文章:
- 字符的输入/输出操作
- C++ 中文件输入输出中的长长 v/s int
- 要求用户输入C++输出文件名
- 在C++中重载输入/输出运算符
- 从用户获取输入/输出
- 如何选择waveIn/waveOut函数C++使用的输入/输出设备
- C++击球平均值程序使用输入/输出文件打印名称,平均值,最高/最低平均值时遇到麻烦
- 从 2 位输入输出 4 位数字年份
- 标准输入输出操作如何C++完成
- Windows 中应用程序的每秒输入/输出操作数
- 如何初始化可以设置为默认数组并将输入/输出作为数组的类函数?
- 输入/输出和类
- 使用 Octave GNU 访问输入/输出文件
- (C++)分解这个简单的输入/输出代码:
- TensorFlow模型:如何从原始爱好文件中识别输入/输出节点名称
- 干净取消在输入/输出调用中被阻止的 std::线程
- 将线程之间的标准输入/输出重定向
- 输入/输出异或字符串的 C++ 问题
- C++输入/输出错误
- C++输入输出