[ vassqes @ 08.06.2009. 20:07 ] @
Imam problem kad hocu da otvorim nekoliko fajlova i iz njih ucitam neke podatke.
Programcic izgleda otprilike ovako:


...
...
...
character*15 ulazA,ulazB
...
...
...
print*,'Ime prve datoteke?'
read*,ulazA
open(1,file=ulazA)
read(1,*)a,b,c
read(1,*)d,e,f
...
...
...
Close(1)

print*,'Ime druge datoteke?'
read*,ulazB
open(1,file=ulazB)
read(1,*)h,i,j
read(1,*)k,l,m

...
...
read*, Pq

problem je u tome da kad pokrenem program, otvori se prva datoteka i iscitaju se svi podaci. Kada naidje na deo gde trebam da unesem ime druge datoteke izbaci mi Error. Nakon toga suspendujem deo gde treba da ucita prvu datoteku i onda bez problema otvori drugu i iscita sve iz nje ali cim naidje na sledecu naredbu READ opet izbaci Error.

U cemu je problem? I sta mi znaci broj 1 u naredbi open(1,file=...). Procitao sam negde da je to broj jedinice ali nemam pojma sta to znaci. Sta se desava ako stavim 2,3 ili neki drugi broj.
[ risp73 @ 20.06.2009. 19:35 ] @
Citat:
vassqes: ... I sta mi znaci broj 1 u naredbi open(1,file=...). Procitao sam negde da je to broj jedinice ali nemam pojma sta to znaci. Sta se desava ako stavim 2,3 ili neki drugi broj.

To je logički broj datoteke, LFN (Logical File Number). Možeš da ga biraš po želji, treba naravno da bude INTEGER.
Pokušaj prvu datoteku da otvoriš sa LFN=11 a drugu sa LFN=12. Zatvori ih na kraju. Ako to i ne uradiš zatvoriće se same kad program završi rad.
Ako ne uspiješ javi se.
Pozdrav
[ vassqes @ 26.06.2009. 23:56 ] @
Uspeo sam donekle da resim problem ali i dalje kad otvorim neku datoteku i program iz nje procita sta je potrebno, posle toga ne mogu neke podatke da unosim preko tastature bez obzira da li tu datoteku zatvorim ili ne.
[ risp73 @ 27.06.2009. 06:42 ] @
Pa vidi, teško je ovako napamet otkriti gdje je problem.
Još jednom ukratko: onaj prvi broj u zagradi je logički broj datoteke (bilo za ulaz, bilo za izlaz) koji ti zadaješ. Postoje i standardni "ulazi" i "izlazi" i oni zavise od operativnog sistema, u OS-u GCOS6 MOD400 su to, ako se ne varam, bili npr. brojevi 5 i 6. Nailazio sam i na 2 i 3.
Postoji i default ulaz/izlaz "*" koji i ti koristiš.
Eksperimentiši malo sa njima. Obrati pažnju i koliko slogova imaš u datoteci iz koje čitaš, koliko si ih već pročitao, dokle si stigao ako pokušaš ponovo da čitaš iz iste datoteke,...