我想使用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输入参数传递给子进程?
答案 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