2
這裏是我的Node.js代碼爲什麼node.js不能在child_process.stdout上發送數據事件?
var rec = spawn('rec.exe');
rec.stdout.setEncoding('ascii');
rec.stdout.on('data', function (data) {
console.log(data);
//do something
}
);
而我的C++程序(通過Cygwin的編譯)寫的東西用printf到標準輸出()。
if(bufsize!=0&&rec[0]=='0')
{
printf("%s\n",rec);
//printf("Received,write into exchange file\n");
//fp=fopen("recvdata.txt","w");
//fprintf(fp,"%s\n",rec);
//fclose(fp);
}
但是數據事件永遠不會發射。
我確定我的C++代碼有問題,因爲它可以與其他一些命令(如ping)一起使用。
然後我注意到,在這種情況下,該事件發出
if(fd==-1)
{
printf("Failed,again\n");
return 0;
}
這意味着,當進程退出,一切工作正常。但那不是我想要的。
有人可以幫助我嗎?謝謝。
謝謝,fflush後面的printf作品。 – user840866 2012-07-11 08:33:26