Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- eBay-es kütyük kis pénzért
- GoodSpeed: Munkaügyi helyzet Hajdú-Biharban: észak és dél!
- Magga: PLEX: multimédia az egész lakásban
- Meggyi001: A végtelenbe...
- gban: Ingyen kellene, de tegnapra
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
-
LOGOUT

Ú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!
- Dobozos ÚJ Acer Nitro 5 i9-12900H RTX 4060 140W 16 GB DDR5 1 TB SSD FHD 144 HZ
- iPhone 17 fekete 256Gb, ÚJ, 3 év Gari, Független
- Moza HGP shifter sebességváltó
- Bravo 15 C7VF 15.6" FHD IPS Ryzen 7 7735HS RTX 4060 16GB 1TB NVMe magyar vbill gar
- Eladó egy kiváló állapotban lévő Honor 400 Pro mobiltelefon
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- Gamer PC-Számítógép! Csere-Beszámítás! R5 3600X / GTX 1080Ti / 16GB DDR4 / 512 SSD
- LENOVO Legion Pro 5 16IRX8 - 16" WQXGA 240Hz - i5-13500HX - 16GB - 1TB - RTX 4060 - 9 Hó garancia
- Kuriózum: Ozark Trail (amerikai) fejlámpa 600 lumen
- HP Pavilion 15-eg2002nh - 15.6" FullHD IPS - i5-1235U - 16GB - Win11 - 512GB SSD - Garancia - MAGYAR
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


