我是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: "
,a
和b
自动并最终完成main.exe?
更新
我的Javascript代码(我不知道哪个事件可用于编写数据,因此我使用c
)
'data'
答案 0 :(得分:2)
两件事,
cout << "Enter 3 numbers: ";
之后不会刷新,因此data
事件永远不会被触发。 (编辑:再次阅读您的问题,似乎数据事件正在被触发.Windows下的缓冲机制可能与我以前在Linux上使用的不同。我将离开这是为了以防万一:)stdin
写入子进程。尝试使用此代码来代替您的javascript代码:
stdout