将运行时参数传递给Nodejs子进程

时间:2014-07-20 07:35:17

标签: node.js child-process

我想使用Nodejs子进程编译C程序。

C .out文件执行功能:

var exec= require('child_process').exec;
    exec("test.exe",function(err,stdout,stdin){
            //call back handling code here
    });

C程序:

#include <stdio.h>
int main()
{
char msg[8];
 scanf("Please endter %s",&msg)
  printf("Hello world %s\n", msg);
  return 0;
}

如何将运行时scanf输入参数传递给子进程?

1 个答案:

答案 0 :(得分:3)

scanf()stdin读取。试试这些:

节点脚本:

var exec = require('child_process').exec;
var cp = exec('test.exe', function(err, stdout, stderr) {
  process.stdout.write(stdout);
  process.stderr.write(stderr);
});
cp.stdin.end('node.js');

C程序:

#include <stdio.h>
int main()
{
  char msg[8];
  scanf("%7s", msg);
  printf("Hello world %s\n", msg);
  return 0;
}

输出:Hello world node.js