这是我的 Node.JS 代码
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;
}
这意味着当进程退出时,一切正常。但这不是我想要的。
有人能帮我吗?谢谢。