spilia Δημοσ. 14 Μαΐου 2011 Δημοσ. 14 Μαΐου 2011 Καλησπερα εχω γραψει τον κωδικα που θελω ο αριθμος που παιρνει το παιδι να μεταφερεται και να εκτυπωνεται στον πατερα.δεν θελω να μου πειτε την λυση αλλα που κανω λαθος ωστε να το προσπαθησω μονος. >#include <stdio.h> #include <string.h> #include <unistd.h> #include <fcntl.h> #include <sys/types.h> #include <sys/stat.h> #include <stdlib.h> int main(int argc, char *argv[]){ int i,fd,x,y,ret,status,n,t; char namefifo[100],buffer[100]; //se periptosi pou dothoun pano apo ena orisma. if(argc!=2){ printf("dose akribos ena orisma"); exit(0);} unlink("FIFO"); if (mkfifo("FIFO", 0755) == -1){ fprintf(stderr," Coudn't create fifo1.\n"); exit(2); } ret=fork(); if (ret==-1){ perror("fork"); exit(11); } //paidi if (ret==0){ printf("dose enan arithmo x\n"); scanf("%d",&x); sprintf(buffer,"%d",x); printf("%s",buffer); if ((fd = open("FIFO", O_RDWR | O_NONBLOCK)) == -1){ fprintf(stderr, "Sender: fifo open failed.\n"); exit(3); } if ((n = write(fd, buffer, 100)) == -1){ fprintf(stderr, "Sender: Write to fifo failed.\n"); exit(4); } } else{ //pateras //sleep(5); //printf("dose enan arithmo y\n"); //scanf("%d",&y); if ((fd = open("FIFO", O_RDWR)) == -1){ fprintf(stderr, "Receiver: fifo open failed.\n"); exit(1); } do{ if (t=read(fd, buffer, 100) == -1){ fprintf(stderr,"Receiver: fifo reading failed.\n"); exit(2);} printf("Received message: %s\n", buffer); }while(strcmp(buffer,NULL)!=0); exit(0); } }
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.