2014-07-20 40 views
1

我想使用Nodejs子進程編譯C程序。將運行時參數傳遞給Nodejs子進程

Ç.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

你嘗試通過它像'EXEC( 「test.exe的消息」,函數(){})'。 – Mritunjay

+0

這適用於如果我的主要方法專家CLI的任何參數,但這不適用於scanf輸入(@運行時)。 – venkat7668

回答

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

相關問題