1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| program conversion_chaine
implicit none
character(len=100) :: ligne
integer :: ios, nb_lig, i, j
character(len=10), dimension(:), allocatable :: mots
! Compte le nombre de lignes
open(unit=11,file='file.in',status='old')
nb_lig = 0
do
read(11,*,iostat=ios) ligne
if (ios/=0) exit
nb_lig = nb_lig + 1
enddo
close(11)
! Allocation du tableau
allocate(mots(nb_lig))
! Extraction de la seconde colonne
open(unit=11,file='file.in',status='old')
nb_lig = 1
do
read(11,*,iostat=ios) ligne, mots(nb_lig)
if (ios/=0) exit
nb_lig = nb_lig + 1
enddo
close(11)
! Vérification
do i = 1, size(mots)
print '(a,i3)', 'Mot numero : ', i
do j = 1, len(mots(i))
print '(a)', mots(i)(j:j)
enddo
print *
enddo
deallocate(mots)
end program conversion_chaine |
Partager