从Fortran90中的文本文件中略过一行

osg*_*sgx 7 fortran fortran90

我写的是fortran(90).我的程序必须读取file1,对它的每一行做一些事情并将结果写入file2.但问题是 - file1在第一行有一些不需要的信息.

如何使用Fortran从输入文件中跳过一行?

代码:

open (18, file='m3dv.dat')
open (19, file='m3dv2.dat')
do
  read(18,*) x
  tmp = sqrt(x**2 + 1)
  write(19, *) tmp
end do
Run Code Online (Sandbox Code Playgroud)

第一行是文本和数字的组合.

Sim*_*mon 12

你已经找到了解决方案,但我只想补充一点,你甚至不需要一个虚拟变量,只需要一个空白的read语句,然后才能进入循环:

open(18, file='m3dv.dat')
read(18,*)
do
    ...
Run Code Online (Sandbox Code Playgroud)

其他答案是正确的,但这可以提高您的代码的简洁性和(因此)可读性.

  • @osgx是的.如果要跳过3行,请将其写入三次. (2认同)