www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Sprotna obdelava podatkov pri ukazu |

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Linux, unix razprave
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
memarko
Član
Član



Pridružen-a: Pon 03 Nov 2003 9:37
Prispevkov: 24
Aktiv.: 0.11

PrispevekObjavljeno: Pon Mar 22, 2004 7:58 am    Naslov sporočila:  Sprotna obdelava podatkov pri ukazu | Odgovori s citatom

V unixu bi rad sproti obdeloval podatke neke aplikacije, ki se prikazujejo na zaslonu.
Poizkusil [slovenščina je zame španska vas] z ukazom <aplikacija1>|<aplikacija2>
Problem je, stvar ne tece vzporedno in da se najprej izvrsi aplikacija1 potem pa obdela podatke aplikacija2.
Zanimivo je, da ukaz <aplikacija>|more izvaja socasno ostalo mi pa ne rata.
[/quote]

_________________
Me_Marko
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
frenki
Moderator
Moderator



Pridružen-a: Ned 23 Feb 2003 21:26
Prispevkov: 6555
Aktiv.: 29.40
Kraj: Ljubljana (JN76GB)

PrispevekObjavljeno: Čet Mar 25, 2004 10:47 pm    Naslov sporočila:   Odgovori s citatom

Lahko malo napišeš kako pravzaprav obdeluješ te podatke? Variant tega je več, čeprav se malo bojim, da ne razumem v celoti problema. Ali ti aplikacija1 zapisuje rezultate obdelave v datoteko? Kaj pravzaprav počne aplikacija2? Napiši konkreten primer, pa bomo poskusili skupaj poiskat optimalno rešitev.

Lp, Frenki
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
memarko
Član
Član



Pridružen-a: Pon 03 Nov 2003 9:37
Prispevkov: 24
Aktiv.: 0.11

PrispevekObjavljeno: Sre Apr 07, 2004 3:15 pm    Naslov sporočila:   Odgovori s citatom

Takole gre vse skupi:
aplikacija1 zajame podatke iz standardnega vhoda to je tipkovnica,
aplikacija2 pa podatke obdela in jih izpise na ekran.

aplikacija2 caka(, da se napolni tokovni buffer (vsaj [slovenščina je zame švedska vas] pravi asistent na faksu jest mislim, da caka na konec izvajanja aplikacije1) )

Zato podatki vneseni z tipkovnico cakajo do (eof()-konca vnasanja vseh podatkov) preden se podatki pojavijo na ekranu

Uspelo mi je resit problem :
Sam sem poskusil tokova zdruziti z || in tako aplikacja2 ne caka da aplikacija1 zakljuci vnasanje podatkov.

_________________
Me_Marko
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
frenki
Moderator
Moderator



Pridružen-a: Ned 23 Feb 2003 21:26
Prispevkov: 6555
Aktiv.: 29.40
Kraj: Ljubljana (JN76GB)

PrispevekObjavljeno: Sre Apr 07, 2004 5:07 pm    Naslov sporočila:   Odgovori s citatom

Asistentova trditev bo kar držala. Če imaš možnost poskusit z večjim vhodmim naborom, se lahko v to tudi prepričaš. Za poskus lahko narediš tudi tole Wink :
Koda:
cd /
find . -print | grep a

Glede tvojega problema pa: daj no, pripni vsaj en primer tega kar naj bi zadeva počela, ker mi še vedno ni povsem jasno v čem je pravzaprav problem.

Lp, Frenki

p.s. Preberi si pravilo št. 1 .
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
memarko
Član
Član



Pridružen-a: Pon 03 Nov 2003 9:37
Prispevkov: 24
Aktiv.: 0.11

PrispevekObjavljeno: Čet Apr 08, 2004 7:39 am    Naslov sporočila:   Odgovori s citatom

Upam da me bos tokrat kej bolj razumel.
najbrs sem premalo podrobno opisal kako program zajema podatke.

v C-ju [slovenščina je zame španska vas] napisal program, ki pretvarja rimske in arabske stevile in obratno arabske v rimske stevilke. Avtomatsko zazna ali je vneseno stevilo rimsko ali arabsko. Ce je vnos napacen to tudi napise.

Za vnos in izpis podatkov uporablja "scanf" in "printf".
vnos poteka dokler nezazna konec datoteke stdin-a (standardnega vhoda - torej konec datoteke ali tipkovnice) ali pa dokler ni vnesen znak "q".

Malo sem se poigral z cevmi in oba programa povezal "./rimske|./rimske"
Stevila sem lahko vnasal, vneseno stevilo pa se ni izpisalo sproti po posameznem vnosu. Sele na koncu ko sem vnesel q se je vse skupaj izpisalo.

Narobe je morda to ker je buffer med obema programoma prevelik in ne stecejo podatki v drug program.

Poizkusil sem z uporabo "||" in tako se je po vsakem vnosu izpisalo tudi vneseno stevilo stevilo.

tu posiljam tudi izvorno kodo in preveden program z "gcc"-jem (prevajalnikom za c)



rimske.c
 Opis:

Download
 Ime datoteke:  rimske.c
 Velikost datoteke:  5.37 KB
 Downloadano:  4 krat


_________________
Me_Marko
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Linux, unix razprave Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 74 dni


Powered by phpBB © 2001, 2005 phpBB Group