| | |
| Stránka: 1 z 1
| [ Príspevkov: 2 ] | |
Autor | Správa |
---|
Registrovaný: 20.03.08 Prihlásený: 08.03.17 Príspevky: 596 Témy: 149 Bydlisko: Houston, Texas | Napísal Unlink: 01.11.2013 9:18 | |
|
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
|
|
Registrovaný: 20.03.08 Prihlásený: 08.03.17 Príspevky: 596 Témy: 149 Bydlisko: Houston, Texas | Napísal autor témy Unlink: 01.11.2013 10:13 | |
|
tá prvá pipe mi nefungovala tak ako bolo treba, ale vyriešil som to asi tak že som ešte nakoniec zapísal 0 a potom tu podmienku upravil asi takto Kód: (c = fgetc(stdin)) != 0) a už to ide lepšie
|
|
| Stránka: 1 z 1
| [ Príspevkov: 2 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|