-
Fototrend

Új hozzászólás Aktív témák
-
orgonista
csendes tag
Sziasztok!
A gnuplotot szeretném egy shell szkriptből vezérelni egy named pipe-on keresztül linux alatt. Hogy a gnuplot ne lépjen ki az első átküldött utasítás után, a következő programot írtam, ami kiszűri az EOF-okat az adatfolyamból:
// eoftalanit.c
# include <stdio.h>
main() {
int a;
while (1) {
a = getc(stdin);
if (a == EOF) {
putc('\n', stdout);
} else {
putc(a, stdout);
}
}
}
Létrehozom a pipe-file-t:
$ mkfifo namedpipe
és ráakasztom a gnuplotot:
$ eoftalanit <namedpipe | gnuplot &
utána küldhetem az utasításokat bele:
$ echo 'test' >namedpipe
Eddig ok, az utasítás lefut és a programom várja a következő utasítást, ám közben a ciklus körbe-körbe jár. Mindig EOF-ot olvas és újsort küld a gnuplotnak, ezzel felzabál a kettő együtt kb. 90% proc. időt. Az érdekes számomra az, hogy az első getc(stdin) hívás még szépen vár míg küldök valamit, a ciklus csak ezután fut folyamatosan.
A kérdésem az, hogy hogyan érhetem el, hogy miután megkapja az EOF-ot az utasítás végén, térjen vissza a kiindulási állapotba és a getc() várjon türelemmel a következő nem EOF-ra?
köszönöm: orgonista
[Szerkesztve]
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Playstation 4 Slim 1 TB kontroller 6 hó garancia, számlával!
- GYÖNYÖRŰ iPhone 14 Pro Max 128GB Deep Purple-1 ÉV GARANCIA - Kártyafüggetlen, MS3913
- BESZÁMÍTÁS! Részletfizetés 0% THM ÚJ AMD RYZEN 7 5700X3D OEM processzor 3 év 27% áfa
- Xbox Elite Series 2 Core kontroller
- Bomba ár! Lenovo X1 Carbon G7: i5-8265U I 8GB I 256SSD I 14" FHD Touch I HDMI I Cam I W11 I Gari!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


