Ahojte, mám program v ktorom chcem dosiahnúť nasledovnú vec
v hlavnom programe načítavam vstup z klávesnice, a zapisujem do prvej pipe, v prvom subprocese z nej čítam a zapisujem do druhej a v druhom subprocese citam z druhej a zapisujem do tretej a nakoniec v hlavnom programe čítam z tej tretej
všetko správne uzatváram
a problém je v tom že mám kód v tých podprocesoch ktorým čítam z pipe tak to robím takto
Kód:
while ((c = fgetc(stdin)) != EOF){
(do standardného vstupu skopirujem citaciu čast pipe)
tak nikdy nedostanem EOF
ale ak mám len jeden podproces tak mi to s EOF pekne funguje tj pokial posielam dáta parent - pipe - child - pipe2 - parent tak mi to funguje s EOF, ale pokial použijem tri pipey tak mi to EOF už nedetekuje
ale komunikácia je v poriadku, lebo ak to porovnávam na koniec riadku (10) tak mi program beží, len neviem pochopiť prečo ich neuzavrie a nemôžem použiť EOF pokiaľ používam 3 ale keď len dve tak to funguje