Je ne comprends pas « Si l'utilisateur entre moins de 80 caractères, alors certains caractères spéciaux sont en position s'annexe'es reste. » - La méthode Fortran consiste à ajouter des blancs pour remplir une chaîne sur IO ou une affectation. Vous pouvez le voir avec le programme de test suivant. Il inclut également la méthode montrée par haraldkl pour changer les espaces de fin à un autre caractère. Un problème est qu'il est difficile de faire la distinction entre les espaces de fin "réels" et ceux qui sont remplis.
module subs
contains
subroutine write_string (string)
character (len=10), intent (in) :: string
integer :: i
write (*, '(">", A10, "<")') string
do i=1, 10
write (*, *) i, ichar (string (i:i))
end do
return
end subroutine write_string
end module subs
program test_string
use subs
character (len=10) :: string
integer :: i
! Assignment test
string = "abc"
call write_string (string)
! Read test
string = "123456789"
write (*, '("Input string:")')
read (*, '(A)') string
call write_string (string)
! replacing the trailing blanks:
do i=len_trim (string)+1, 10
string(i:i) = "+"
end do
call write_string (string)
stop
end program test_string
s'il vous plaît utilisez la balise de code – tekknolagi
et s'il vous plaît préciser que vous souhaitez remplir l'espace restant dans la chaîne, '80 strlen (string)' avec un certain caractère – tekknolagi