首页 > 开发 > NodeJS > 正文

在Node.js中如何将数据以stdin的方式传递进由spawn产生的子进程?

2017-09-08 17:34:19  来源:网友分享

比如说:

var test = require('child_process').spawn('./a.out');

完整代码:

var spawn = require('child_process').spawn('./a.out',{stdio:'pipe'})spawn.stdin.write('8 9');spawn.stdout.on('data', function(data){    console.log('stdout:\n' + data + '\n');});spawn.stderr.on('data', function(data){    console.log('stderr:\n' + data + '\n');});

a.out的代码:

#include <iostream>int main(){    int a=2,b=3;    std::cin>>a>>b;    std::cout<<a*b<<std::endl;    return 0;}

然后这个a.out接收两个输入(不是两个arg),如何不通过手动输入的方式把这个数据传递进去??

解决方案

test.stdin.write(data)

data里面是你要传给a.out的数据