fortran77读写⽂本⽂档
1 PROGRAM WRITETEXT
2 IMPLICIT NONE
3 INTEGER,PARAMETER :: NE=6!fortran90 语法定义变量
4 DOUBLE PRECISION A(6,6),B(6,6)
5 INTEGER I,J,M
7 DO 10 I=1,NE
8 DO 10 J=1,NE
9 A(I,J)=I+J
1010 CONTINUE
11 OPEN(6,FILE='',STATUS='UNKNOWN')
12 WRITE(6,100) ((A(I,J),J=1,6),I=1,6)!写⼊txt
13 CLOSE(6)
14 OPEN(6,FILE='',status='OLD',ACCESS='SEQUENTIAL')
15100 FORMAT(6(E16.9,1X))
16 C 读取text中数据到数组
17 I=0
1815 I=I+1
19 READ(6,200) (B(I,J),J=1,6)
20 IF (I.LT.6) GOTO 15
21200 FORMAT(6(E16.9,1X))
22 c ⼆进制⽅法读写⽂档
23
24 ENDPROGRAM WRITETEXT
下⾯添加⼆进制形式。
5 INTEGER I,J,M
6 CCCCC ⾮⼆进制读写⽂本⽂档
7 C 初始化A
8 DO 10 I=1,NE18cr2ni4wa
9 DO 10 J=1,NE
10 A(I,J)=I+J
1110 CONTINUE
12 C 将A写⼊⽂档6
13 OPEN(6,FILE='',STATUS='UNKNOWN')!往⽂本⽂档中写东西时最好⽤这种,若存在会⾃动删除
14 WRITE(6,100) ((A(I,J),J=1,6),I=1,6)!写⼊txt
15 !CLOSE(6)!其实可以不关闭⽽由内存直接写到硬盘上。
16 !OPEN(6,FILE='',status='OLD',ACCESS='SEQUENTIAL')!如果不进⾏关闭再打开动作,⽂件指针在最后⼀⾏,就需要REWIND 6语句17100 FORMAT(6(E16.9,1X))
18 C 读取text 6中数据到数组B,实现了数据A--->B 19 I=0
2015 I=I+1
21 REWIND 6!将6号⽂档的指针移到⽂档开头
22 READ(6,200) (B(I,J),J=1,6)
23 IF (I.LT.6) GOTO 15
24200 FORMAT(6(E16.9,1X))
25 c 下⾯⼆进制⽅法读写⽂档,实现数据A--->C
26 OPEN(1,FILE='FTEMP1.DAT',STATUS='NEW',ACCESS='SEQUENTIAL',
27 + FORM='UNFORMATTED')
28 WRITE(1) ((A(I,J),J=1,6),I=1,6)!写⼊txt
29 REWIND 1!将1号⽂档的指针移到⽂档开头
30 READ(1) ((C(I,J),J=1,6),I=1,6)!写⼊txt
31 CLOSE(6)
32 CLOSE(1,STATUS='DELETE')
33 ENDPROGRAM WRITETEXT
通过下⾯的代码可以看出,现在的编译器可以很好的兼容Fortran77和Fortran90,在Fortran77中写Fortran90代码也没问题,⽐如变量名字长度可以超过6个字符长度(但要⼩于31个字符长度) 5 INTEGER I,J,M,abcdefghijklmnopqrstuvwxyz!名字的长度不能超过 31个字符。
6 CCCCC ⾮⼆进制读写⽂本⽂档
7 C 初始化A
8 DO 10 abcdefghijklmnopqrstuvwxyz=1,NE
9 DO 10 J=1,NE
10 A(abcdefghijklmnopqrstuvwxyz,J)=abcdefghijklmnopqrstuvwxyz+J
1110 CONTINUE
12 C 将A写⼊⽂档6
13 OPEN(6,FILE='',STATUS='UNKNOWN')!往⽂本⽂档中写东西时最好⽤这种,若存在会⾃动删除
14 WRITE(6,100) ((A(I,J),J=1,6),I=1,6)!写⼊txt
15 !CLOSE(6)!其实可以不关闭⽽由内存直接写到硬盘上。
16 !OPEN(6,FILE='',status='OLD',ACCESS='SEQUENTIAL')!如果不进⾏关闭再打开动作,⽂件指针在最后⼀⾏,就需要REWIND 6语句17100 FORMAT(6(E16.9,1X))
18 C 读取text 6中数据到数组B,实现了数据A--->B
19 I=0
2015 I=I+1
21 REWIND 6!将6号⽂档的指针移到⽂档开头
22 READ(6,200) (B(I,J),J=1,6)
23 IF (I.LT.6) GOTO 15
24200 FORMAT(6(E16.9,1X))
25 c 下⾯⼆进制⽅法读写⽂档,实现数据A--->C
26 OPEN(1,FILE='FTEMP1.DAT',STATUS='NEW',ACCESS='SEQUENTIAL',
27 + FORM='UNFORMATTED')
28 WRITE(1) ((A(I,J),J=1,6),I=1,6)!写⼊txt
29 REWIND 1!将1号⽂档的指针移到⽂档开头
30 READ(1) ((C(I,J),J=1,6),I=1,6)!写⼊txt
31 CLOSE(6)
32 CLOSE(1,STATUS='DELETE')
33 ENDPROGRAM WRITETEXT
fortran77代码
全球公民社会并且也不是变量名⽐较长时就取前6个字符(要是只取前6个字符的话两个较长的变量名前6个字符相同时会认为是同⼀个变量),⽽是全部字符都作为变量名。
5 INTEGER I,J,M,abcdefghijklmnopqrstuvwxyz,abcdefghijklmnopqrstuvw!名字的长度不能超过 31个字符。
6 CCCCC ⾮⼆进制读写⽂本⽂档
7 C 初始化A
8 DO 10 abcdefghijklmnopqrstuvwxyz=1,NE
9 DO 10 abcdefghijklmnopqrstuvw=1,NE
10 A(abcdefghijklmnopqrstuvwxyz,abcdefghijklmnopqrstuvw)=
11 & abcdefghijklmnopqrstuvwxyz+abcdefghijklmnopqrstuvw
1210 CONTINUE
borland c 3.113 C 将A写⼊⽂档6
14 OPEN(6,FILE='',STATUS='UNKNOWN')!往⽂本⽂档中写东西时最好⽤这种,若存在会⾃动删除
15 WRITE(6,100) ((A(I,J),J=1,6),I=1,6)!写⼊txt
土婆婆pk洋媳妇16 !CLOSE(6)!其实可以不关闭⽽由内存直接写到硬盘上。
17 !OPEN(6,FILE='',status='OLD',ACCESS='SEQUENTIAL')!如果不进⾏关闭再打开动作,⽂件指针在最后⼀⾏,就需要REWIND 6语句18100 FORMAT(6(E16.9,1X))
19 C 读取text 6中数据到数组B,实现了数据A--->B
20 I=0
2115 I=I+1
22 REWIND 6!将6号⽂档的指针移到⽂档开头
23 READ(6,200) (B(I,J),J=1,6)
24 IF (I.LT.6) GOTO 15
25200 FORMAT(6(E16.9,1X))
26 c 下⾯⼆进制⽅法读写⽂档,实现数据A--->C
27 OPEN(1,FILE='FTEMP1.DAT',STATUS='NEW',ACCESS='SEQUENTIAL',
28 + FORM='UNFORMATTED')
29 WRITE(1) ((A(I,J),J=1,6),I=1,6)!写⼊txt
30 REWIND 1!将1号⽂档的指针移到⽂档开头
集团税务筹划难度31 READ(1) ((C(I,J),J=1,6),I=1,6)!写⼊txt
32 CLOSE(6)
33 CLOSE(1,STATUS='DELETE')
34 ENDPROGRAM WRITETEXT
fortran77