2014-11-10 4 views
0

Я сделал программу Fortan, чтобы прочитать файл погоды в моей программе. Этот файл содержит 2 строки заголовка, а затем строки данных каждые 10 минут и составляет 52562 строк.Функция фортранса пропускает строки, но не разрешается.

При чтении файла с кодом ниже он возвращает ошибку Fortran runtime error: End of file для i = 52548 в do -loop.

bdst=600 
allocate(clidat(int(3.1536d7/bdst),15)) 
open(2001,file='church_10m.cli',action='read') 
read(2001,*); read(2001,*) 
do i=1,size(clidat,1) 
     read(2001,*) clidat(i,:) 
enddo 
close(2001); 

Файл используется, можно найти по этой ссылке: общественный идентификации контента church_10m.cli. Я проверил, и файл содержит строки 52562. Строка, соответствующая i = 52548, является последней строкой файла. Строка, соответствующая i=1, является третьей строкой файла (который начинается с 0). Поэтому я подозреваю, что некоторые строки пропускаются между ними. Любые мысли, почему это происходит?

ответ

0

Если строка не содержит 15 значений (размер clidat), инструкция read просто переходит к следующей строке и считывает следующие значения. В файле church_10m.cli было несколько строк, которые не имели достаточных значений. (например, строка 1957).

Это был результат преобразования из файла excel в txt-файл.

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

  • Нет связанных вопросов^_^