Fortran - bug przy zamykaniu pliku

0

Kłaniam się.
Jak w temacie - mój program doznaje crashu przy komendzie "close" mającej na celu zamknąć otwarty plik.
Ogólnie opisując program wykonuje kilka razy tę samą pętlę, zapisując dany plik w różnych miejscach na dysku. Za każdym razem przeprowadza obliczenia przypisane do danej lokalizacji, gdzie ma zostać umieszczony plik. Na końcu pętli jest właśnie "close", by zamknąć dany plik i otworzyć go w innej lokacji (uzależnionej od numeru przebiegu pętli).
Myślałam początkowo, że to coś z pamięcią RAM na moim komputerze, ale czasem ten program "zadziała" (ten błąd nie wyskoczy) przy otwartej w tle muzyce i trzech zakładkach na przeglądarce, zaś czasem przy wyłączonych wszystkich programach i sprawdzonej aktywności przez menager ten program po prostu wykonuje jeden-dwa przebiegi.
Czy ktoś miałby pomysł, jak to "wyleczyć"?

Używam kompilatora Edi.

W dużym uproszczeniu ten program obecnie wygląda mniej-więcej tak:

 Program liczenie
real :: //zmienne//
integer :: i, //inne//
character(LEN=20), dimension(5,3) :: domena
charakter(LEN=20) :: sciezka
do i=1, 5
sciezka = "//ustalenie//"
domena(i,1) = "sciezka/plik1.txt"
domena(i,2) = "sciezka/plik2.txt"
domena(i,3) = "sciezka/plik3.txt"
end do
do i=1, 5
write(*,*) i
open(1, file=domena(i,1), status="unknown")
open(2, file=domena(i,2), status="unknown")
open(3, file=domena(i,3), status="unknown")
//blok obliczeń i zapisów do 1//
write(*,*) "test1"
close(1)
write(*,*) "test2"
//więcej obliczeń i zapisów do 2//
write(*,*) "test3"
close(2)
write(*,*) "test4"
//obliczenia końcowe z zapisami do 3//
write(*,*) "test5"
close(3)
write(*,*) "test6"
end do
end program liczenie

Czasami mam ostatnią linijkę w konsoli "test1", czasem "test3", czasem "test5". Nie wiem, od czego to zależy.

0

Witam raz jeszcze.
Przerzuciłam wszystkie komendy "close" na koniec pętli dla testu. Okazuje się, że ze wszystkich tylko dwie z nich sprawiają kłopoty, z tym że o ile jedna z nich działa "co drugi raz", o tyle druga nie działa mi teraz wcale. Sprawdziłam, ścieżka dostępu jest napisana dobrze, a w zapisie do pliku są tylko liczby rzeczywiste wyliczane dość prostymi równaniami.
Czy ktoś ma pomysł, co może być tego przyczyną?
Pozdrawiam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1