• ベストアンサー

FortranのOPEN文

OPEN(2,FILE='../data/'//FNAME//'c.dat') というOPEN文についての質問です.このOPEN文のファイル名の指定FILE=' 'のところがわからないので,教えていただきたいのです. ドット二つ(..)とスラッシュ1本(/),二本(//)の意味など,わかる方よろしくお願いします.

質問者が選んだベストアンサー

  • ベストアンサー
  • ultraCS
  • ベストアンサー率44% (3956/8947)
回答No.2

スラッシュ二本(//)は文字列の結合演算子です。 FNAMEはCHARACTER宣言された文字列変数のはずです(FORTRANの仕様だとそれ以外に考えようがない)。 で、FNAMEに'hogehoge'と入っていれば、 FILE='../data/'//FNAME//'c.dat'='../data/'//'hogehoge'//'c.dat'='../data/hogehogec.dat' ということで、オープンするファイルは../data/hogehogec.datとなるわけです(よけいな話だけど、'c.dat'は'/c.dat'じゃないですか)。 ドット二つ(..)は一階層上(親ディレクトリといいます)を意味します、ルートでは(ルートは一番もと)ではありません。 あと、FORTRANでは、一桁のファイル番号には、5はSYSIN(昔だったらパンチカード)、6はSYSOUT(昔ならラインプリンタ、今だったらコンソール)など、特別な役割を持たせてきた歴史があります。できれば、一桁の番号は避けた方が賢明でしょう。

inaikarada
質問者

お礼

丁寧な説明をどうもありがとうございます.

その他の回答 (1)

  • tkun62
  • ベストアンサー率23% (37/159)
回答No.1

UNIX系OSのファイル指定と思いますが、ドット二つに関しては ルート(ディレクトリ階層の一番上)という意味かと思います。 スラッシュ一本はディレクトリ階層でしょう。 例えば../data/testdatc.datというのは PCで言えばc:\data\testdatc.datと同様かと思います。 スラッシュ二本に関しては分かりませんが、推測ではFNAMEという 変数があってその内容の接続文字のような気がします。 例えばFNAMEの内容がtestdatの時に上記サンプルのような 意味になるかと思います。

inaikarada
質問者

お礼

ありがとうございます.

関連するQ&A

専門家に質問してみよう