ciao a tutti, ho bisogno di una mano. vorrei passare una struttura fatta così:
attraverso una named pipecodice:typedef struct { char *comando; int id; char *par1; char *par2; char *par3; int val; }Comando;
è possibile farlo?
finora non ci sono riuscito, ecco il mio codice di prova:
MITTENTE:
DESTINATARIO:codice:int main(){ int fd; if(mkfifo("fifo_in", 0666)==-1) printf("errore in\n"); fd=open("fifo_in", O_WRONLY); Comando *p=malloc(sizeof(Comando)); p->id=2; p->par1=malloc(sizeof(char)*10); strcpy(p->par1, "ciao\0"); printf("%d\n", write(fd, &p, sizeof(p))); return 0; }
grazie in anticipocodice:int main (){ int fd=open("fifo_in", O_RDONLY); Comando *p=malloc(sizeof(Comando)); printf("%d\n", read(fd, &p, sizeof(p))); printf("%d\n", p->id); printf("%s\n", p->par1); return 0; }

Rispondi quotando