写入屏幕同一行fortran

时间:2018-02-10 12:21:39

标签: fortran

我希望在英特尔Fortran的屏幕上输出一些数字,默认情况下,每当我向屏幕输出内容时,Fortran都会写一个新行。反正有没有避免这个?

以下是我的代码示例:

PROGRAM sample
integer :: ind

do ind = 1,20
    write(*,*) ind
    !Some other stuff here
end do

END PROGRAM

我尝试使用no-advance选项,但它不起作用:

PROGRAM sample
integer :: ind

do ind = 1,20
    write(*,*,advance='no') ind
    !Some other stuff here
end do
END PROGRAM

理想情况下我想要的是将以下内容输出到屏幕:

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20

全部在同一行。在fortran中有没有这样做的方法?

1 个答案:

答案 0 :(得分:2)

这不适用于格式“*”(列表定向)。但是可以使用明确的格式:

program test
   implicit none
   integer :: ind
   do ind = 1,20
      write(*,'(1x,i0)',advance='no') ind
      !Some other stuff here
   end do
end program

结果:

[coul@localhost ~]$ gfortran test.f90
[coul@localhost ~]$ ./a.out
 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20[coul@localhost ~]$