如何写入行的末尾(或选项卡到变量)?

时间:2012-07-10 16:43:17

标签: formatting fortran

我正在编写一个代码,其中我想在行尾添加一个文件名。有两种逻辑方法可以做到这一点,但我不知道它们是否存在于Fortran中。

  1. 只需将一个字符变量附加到我正在阅读的行的末尾。

  2. [PREFERRED]使用T(tab)描述符和一个数字变量来告诉它要跳到哪一列,然后从该列开始写入字符变量。

1 个答案:

答案 0 :(得分:3)

以字符串形式读取每一行,然后在字符串末尾修剪空格并在末尾附加文件名。确保您的字符变量足够大。下面是一个简单的程序,说明了这个想法。

program append_to_rows

implicit none

integer :: j
character(len=10) :: fname = 'mydata.txt'
character(len=100) :: row

open(1,file=fname, status='old')
open(2,file='processed.txt', status='unknown')

do j=1,6
    read(1,'(a)') row
    row = trim(row)//fname
    write(2,'(a)') trim(row)
end do

close(1)
close(2)

end program

mydata.txt:

1,2,3,4,dfkldf
1,2,3fdfkj
1

123
  3434j,43,5

processed.txt:

1,2,3,4,dfkldfmydata.txt
1,2,3fdfkjmydata.txt
1mydata.txt
mydata.txt
123mydata.txt
  3434j,43,5mydata.txt