I am trying to have two programs share information. The original running program streams data to a pipe and the second program should read from that pipe concurrently. They are two different executables. The way I have it now is the first program executes the second program with a system call on UNIX.
It prints out a bunch of zeros, is there anyway to fix this?Code:first program int main(int argc, char *argv[]) { //pipe is created if(pipe(writepipe)==-1) { perror("Pipe writepipe creation failed.\n"); //Pipe writepipe created exit(1); } else printf("Pipeline write created.\n"); //pipe is wrote to p1=draw_geom_buf.value[0]; data=p1; write(writepipe[0],&data,sizeof(data)); //second program is executed case XK_F4: //>>DDC printf("Displaying new window\n"); system("./program2&"); second program data is read from pipe? NO int writepipe[2]; float input; read(writepipe[1],&input,sizeof(input)); cout << input << endl;
Thanks
DC



LinkBack URL
About LinkBacks


