FORTRAN(catコマンドを作るその2)

続きです。
ファイル先頭の一行のみの表示プログラムをベースに、ファイルを読み込んですべて表示するプログラムに修正します。

takk@deb9:~$ cat cat3.f
      PROGRAM cat
      CHARACTER*100 ARGS,LINE
      INTEGER N
      N = IARGC()
      DO 11111 I=1,N
        CALL GETARG(I,ARGS)
        OPEN(UNIT=10,FILE=ARGS(1:INDEX(ARGS,' ')-1),
     1  STATUS='OLD',
     2  ACCESS='SEQUENTIAL')
   10   READ(10,*,END=100) LINE
        WRITE(*,*) LINE
        GOTO 10
  100 CLOSE(10,STATUS='KEEP')
11111 CONTINUE
      STOP
      END

takk@deb9:~$
takk@deb9:~$ gfortran cat3.f
takk@deb9:~$ ./a.out x00 x01 x02
 10                                                                             

 20                                                                             

 30                                                                             

(省略)

 270                                                                            

 280                                                                            

 290                                                                            

 300                                                                            
takk@deb9:~$

忘れてました。末尾の空白をトリムする必要があります。
しかし、本当の空白の場合は、トリムしてはいけません。どうしましょう。
今のスキルでは難しいので成長してから作ることにします。

続く

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA