Leituras formatadas e implícitas
No Fortran, é possível usar loops implícitos. Eles geralmente são usados para impressão e têm a seguinte estrutura.
write(*,'(5I6)') (i,i=1,20)
! output
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
Isso permitiria escrever 5 números inteiros de largura 6 e, quando terminar, passaria automaticamente para a próxima linha. Portanto, é bastante útil para formatação.
A questão é se isso pode ser feito ao contrário
read(*,'(5I6)') (a(i),i=1,20)
Obviamente, isso não funcionaria, como está escrito, porque existem apenas 5 elementos por linha. No entanto, eu gostaria de perguntar como mudar para a próxima linha no modo automático. Atualmente, estou contando o número de entradas e, uma vez que 5 seja atingido, vou para a próxima linha. Outra opção seria ler o arquivo em um arquivo de rascunho binário, onde não existem linhas 'novas'. Isso não funcionaria perfeitamente para mim, porque eu uso a pesquisa de palavras-chave com oindex()
função.