Fortran 90中的行读取和编辑

时间:2012-09-17 08:34:27

标签: fortran fortran90

我是Fortran的新手,我正在尝试编写一个程序来读取.txt文件,其中我有24480行和~6000列。 在每一行(作为个体)我有基因型指示为1和2,如果,例如,在第一行,我有204基因型,这个基因型的前半部分(= 102)属于个体的父亲和后半部分的基因型属于个人的大坝。另外,每行的值不相等。那么,我如何定义Fortran逐行读取这个文件并将每一行分成两行并放在每个元素旁边(i)到均值+ i。

例如,我将两行文件显示为简短: row1:112122121112122111112121111211122121111121 第2行:21112111112112222121112121211121221212121111121112 1212

等等。 任何帮助将提前感激。

1 个答案:

答案 0 :(得分:2)

你需要将每一行读作字符串,用len_trim()获取它的长度,然后将每一半读成整数数组:

     character*10000 line

     read(unit,'(a)')line
     len=len_trim(line)
     read(line,'(10000i1)')a(:len/2),b(:len/2)