ファイル入力を使ってfortran77プログラムを実行するには?

ファイル入力を使ってfortran77プログラムを実行するには?

端末で fortran77 プログラムを実行します。

./program

そしてプログラムには入出力ファイルが必要です。ファイルに入力ファイルと出力ファイルの名前がある場合(2つの列に分割されている)、端末に何を書くべきですか?ファイルに名前があるすべての行でこのプログラムを実行したいと思います。

または - パラメータなどの入力情報を使用してプログラムを実行する方法は?

または、スクリプトに直接ファイル名を書き込む方法はありますか?変える

READ(+,'(A)') OUT

ベストアンサー1

次のプログラムファイルを作成しました。prog.f

       program test

       character IN*30,OUT*30,line*80

       PRINT *,'Input file '
       READ(*,'(A)') IN
       OPEN(1,FILE=IN,STATUS='OLD')
       PRINT *,'Output file?'
       READ(*,'(A)') OUT
       OPEN(2,FILE=OUT,STATUS='NEW',BLANK='ZERO')


       read (1,'(a80)') line
       write (2,*) "I read ", line
       end

コンパイルしてリンクする

gfortran prog.f -o prog

入力ファイルにテキスト文字列を入れました。

echo "Hello World" > in

inoutその後、プログラムに入出力ファイルの名前を送信します。

$ <<< 'in
out' ./prog
 Input file 
 Output file?

そして、出力ファイルを確認してください

$ cat out
 I read Hello World                                                                     

<<<で動作します。よりポータブルなパイプをbash好むかもしれません。echo

$ rm out
rm: remove normal file 'out'? y

$ echo 'in
out' | ./prog
 Input file 
 Output file?
$ cat out
 I read Hello World                                                                     

おすすめ記事