如何与Node.js进程中的C ++程序输入流进行交互?

时间:2015-12-04 14:30:55

标签: javascript c++ node.js io cin

我是Node.js的新手,但我对C ++和Javascript并不陌生。我将使用节点创建一个C ++工具但是我遇到了一个问题,当C ++程序调用{​​{1}}时,我不知道如何将数据从节点进程发送到C ++进程。

请参阅此代码(main.exe):

std::cin

在我的javascript代码中,我使用int main() { int a, b, c; cout << "Enter 3 numbers: "; cin >> a >> b >> c; cout << "Total: " << (a + b + c) << endl; return 0; } 来调用main.exe,我知道我可以使用事件child_process.spawn来获取消息'data',但是如何让节点进入"Enter 3 numbers: "ab自动并最终完成main.exe?

更新

我的Javascript代码(我不知道哪个事件可用于编写数据,因此我使用c

'data'

1 个答案:

答案 0 :(得分:2)

两件事,

  • 您的子进程在cout << "Enter 3 numbers: ";之后不会刷新,因此data事件永远不会被触发。 (编辑:再次阅读您的问题,似乎数据事件正在被触发.Windows下的缓冲机制可能与我以前在Linux上使用的不同。我将离开这是为了以防万一:)
  • 您需要为{$ 1}}而不是stdin写入子进程。

尝试使用此代码来代替您的javascript代码:

stdout