2016-01-07 4 views
0

Я изо всех сил, чтобы читать из одного текстового файла ввода в новый текстовый файл с помощью компилятора Фортрана в Visual Studio 10. Мой входной файл в формате gslib (прилагается)Ошибка записи в Fortran

program main 

! Unit numbers: 

     lisa = 4 
     lfke = 9 

! Writing input data to file Lisa 

     open(unit=lisa,file='fake.dat',status='OLD',err=80) 
     open(unit=lfke,file='dlfke',status='NEW', err=80) 
     read(lisa,*,err=80) 
     read(lisa,*,err=80) line 
     write(9,*) line  
     close(unit=lisa) 
     close(unit=lfke)   
     80 stop 'ERROR in test file!' 
     end 
+0

Большое спасибо за любую помощь. Я могу загрузить файл данных, если необходимо – Lisa

+4

Какое значение имеет 'test'? Где метка '80'? Что пошло не так для вас? Какие результаты вы ожидаете/получаете? – francescalus

+0

Возможно, ваши данные «поддельные». Но серьезно, пожалуйста, добавьте точное сообщение об ошибке и переведите свой код выше в [mcve]. Это может включать даже сокращенную версию входного файла, который создает проблему (даже в сокращенном состоянии). –

ответ

3

Эта программа всегда будет выводить сообщение об ошибке «ERROR в тестовом файле», независимо от того, произошла ли ошибка. После выполнения строки инструкциями закрытия он выполнит строку 80 с помощью оператора stop. Вам, вероятно, будет легче, так как ваша разработка вашей программы, удалить тесты err=80 в каждом операторе ввода-вывода. Затем, если есть ошибка ввода-вывода, программа автоматически прекратит работу и произведет конкретное сообщение о программе. Эти ветви err= полезны, если вы хотите, чтобы ваша программа обрабатывала ошибку, но с этой реализацией она скрывала то, что произошло с ошибкой ввода-вывода, поскольку все ошибки ввода-вывода создают одно и то же сообщение.

+0

Большое спасибо :) Файл выводит одну строку в файле (значение 4, которое ссылается на количество столбцов). Моя проблема не в том, чтобы печатать другие строки. Я попытался сделать цикл, но он не написал. Я думаю, что я могу писать неправильно. Еще раз спасибо, и я извиняюсь за любые глупые вопросы. Я работаю над чьим-то кодом и новичок в программировании. – Lisa

Смежные вопросы