Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pozicioniranje u fileu

[es] :: C/C++ programiranje :: Pozicioniranje u fileu

[ Pregleda: 2481 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

digas
Luka Djigas

Član broj: 103788
Poruke: 13
*.cmu.carnet.hr.



Profil

icon Pozicioniranje u fileu09.09.2006. u 00:29 - pre 214 meseci
Pozdrav svima !

Molio bih za pomoc po pitanju dva problema

1. Kako bih mogao poceti ucitavati nesto u n-tom redu iz nekog filea ?
Ucitavam neke koeficijente iz nekog filea, koji je zajednicki za nekoliko programa. Program A ucitava
od retka 1-50, dok je program B do sada ucitavao retke 1-50, te onda 50-100, koji su mu zapravo trebali.
Kako bi se mogao pozicionirati da pocnem ucitavati od 50-tog retka ?

2. Da li je netko ovdje pokusavao razviti neki parser za konfiguracioni file.
Znaci file izgleda otprilike ovako:
#prva_stavka = 1
#druga_stavka = 2
.
.
Stavke su opcije u mom programu.
Postavio bih pametnije pitanje, no doista ne znam ni kako poceti.

Zahvalan na svim razmisljanjima i idejama.

pozdrav
dig
 
Odgovor na temu

Tiristor
Skola/obrazovanje

Član broj: 102849
Poruke: 184
*.inffo.net.



Profil

icon Re: Pozicioniranje u fileu09.09.2006. u 10:40 - pre 214 meseci
Je li se tebi izbrsava ti prvi 50 redova, pa tek posle ovi drugi 50 redova, ako ti se to tako izvrsava tebi ne treba nikakvo pozicioniranje. U tom slucaju pokazivac je vec postavljen na kraj 50. reda i kada pocnes ponovno ucitavanje reda on ce poceti od 51. Ako je to drugacije napisi. Ne razumem sta hoces ovde sa stavkom 1 i stavkom 2. Je li tu hoces da mozes da biras izmedju 2 stavke koja ce da se izvrsava ce da se radi?
 
Odgovor na temu

digas
Luka Djigas

Član broj: 103788
Poruke: 13
*.cmu.carnet.hr.



Profil

icon Re: Pozicioniranje u fileu09.09.2006. u 10:59 - pre 214 meseci
Ne, ne izvrsava se prvih 50 redova. Vec sam njih isao ucitati kako bi me pozicionirao
na pocetak drugih 50, koji mi stvarno trebaju. Cilj mi je da uopce preskoci ovih prvih 50
ako moze.

Stavka1 i stavka2 su dvije potpuno razlicite opcije, nemaju veze jedna s drugom. (to su
neke defaultne vrijednosti nekih brojcanih varijabli, ili neke true/false 1/0 vrijednosti).
Nastojim da on nekako prepozna da je to stavkajedan i nakon toga ucita u neku varijablu
vrijednost iza znaka jednakosti.

pozdrav
dig
 
Odgovor na temu

Tiristor
Skola/obrazovanje

Član broj: 102849
Poruke: 184
*.inffo.net.



Profil

icon Re: Pozicioniranje u fileu09.09.2006. u 14:54 - pre 214 meseci
Znaci ti imas defaultne vrednosti i hoces da ako neki izraz tacan da se nekoj promenjivi dodeli jedna od ti default vrednosti. Ako je tako onda mozes da probas ovo:
a=(izraz1<izraz2)? default1 : default2;

Da li je taj fajl u kome treba da se pozicioniras stalan ili ces u nijega unositi neke nove vrednosti.
Ja ti znam pomoci pomocu naredbe fseek, mozda neko zna i neki drugi nacin, ali ja trenutno znam samo to. Medjutim, ako se tu unose novi podaci to malo komplikuje stvar. Mnogo je lakse ako je taj fajl stalan i nema novi unosenja.
 
Odgovor na temu

Mix5
Milos Djuric
STE, Asseco
Jagodina

Član broj: 14282
Poruke: 332
217.24.27.*



Profil

icon Re: Pozicioniranje u fileu09.09.2006. u 16:32 - pre 214 meseci
Ovoris fajl sa "r". U while petlji inkrementiras neki int koji pre ulaska u petlju ima vrednost 0 svaki put kad je getchar() == '\n'. while radi dok je taj int manji od 50. Ako sam dobro skontao onda je to to. pozz
 
Odgovor na temu

Tiristor
Skola/obrazovanje

Član broj: 102849
Poruke: 184
*.inffo.net.



Profil

icon Re: Pozicioniranje u fileu09.09.2006. u 17:16 - pre 214 meseci
Kako stvari mogu da se rese na jednostavan nacin, a ja bi to malo zakomplikovao. Mix5 svaka cast
 
Odgovor na temu

digas
Luka Djigas

Član broj: 103788
Poruke: 13
*.cmu.carnet.hr.



Profil

icon Re: Pozicioniranje u fileu09.09.2006. u 22:14 - pre 214 meseci
Citat:
Tiristor: Znaci ti imas defaultne vrednosti i hoces da ako neki izraz tacan da se nekoj promenjivi dodeli jedna od ti default vrednosti. Ako je tako onda mozes da probas ovo:
a=(izraz1<izraz2)? default1 : default2;

Onda bi trebao svaki put ponovo kompajlirati. Cilj je to izbjeci.

Da li je taj fajl u kome treba da se pozicioniras stalan ili ces u nijega unositi neke nove vrednosti.
Ja ti znam pomoci pomocu naredbe fseek, mozda neko zna i neki drugi nacin, ali ja trenutno znam samo to. Medjutim, ako se tu unose novi podaci to malo komplikuje stvar. Mnogo je lakse ako je taj fajl stalan i nema novi unosenja.


Da li si ikada radio pod linuxom ? Tamo je to dosta uobicajen nacin konfiguriranja programa.
U mom kodu se nalaze originalne (nepromjenjive, sto bi znacilo, s njima kompajliram prog.) defaultne vrijednosti.
Ali posto je te vrijednosti potrebno mijenjati, npr. mijenjam vrijednost neke varijable
#koeficijent=2
Ako te linije nema u fileu, ili cak nema filea uopce, onda ide s onom koju ima ukompajliranu u soft.

Ali cilj ove cijele price, jest kako uspjeti da on prepozna da linija u fileu pocinje s
#ta_i_ta_varijabla = 2
te da onda u programu toj i toj varijabli dodijeli vrijednost 2 ?

Podrucja primjene u ovoj prici nisu toliko vazna za sada.

pozdrav
dig
 
Odgovor na temu

Tiristor
Skola/obrazovanje

Član broj: 102849
Poruke: 184
*.inffo.net.



Profil

icon Re: Pozicioniranje u fileu10.09.2006. u 01:05 - pre 214 meseci
E to vec ne znam. Nisam nikada radio pod linuksom, ali se princip verovatno i tu svodi na to da treba postaviti uslov i ako je on tacan izvrsiti neku naredbu, a ako nije tacan uraditi nesto drugo. Oko pozicioniranja ti je verovatno pomoglo ovo sto je Mix5 napisao.
 
Odgovor na temu

[es] :: C/C++ programiranje :: Pozicioniranje u fileu

[ Pregleda: 2481 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.