教えて下さい。お願いします。
あるFrotranプログラムをコンパイルし、実行すると次のエラーが帰ってきました。

*** FORTRAN I/O ERROR 915: READ UNEXPECTED CHARACTER
FILE: ., UNIT: 99
( 0) 0xc11c1ad0 __io_ded + 0x408 [/usr/lib//libcl.2]
( 1) 0xc11b7744 ____F90_END_IO + 0x99c [/usr/lib//libcl.2]
( 2) 0x00004120 _start + 0x1e0 [././test-new]

このエラーの内容がわかりません。わかる方教えてください。

A 回答 (2件)

> しかし、fortranに全くふれたことがないので、ユニット99がどこをさすのか


> わかりません。
> ちなみにこのプログラムも自分で作ったものでないため、具体的に
> どのような動作をするものなのか把握してないのです。

FORTRAN は、入出力がユニット番号と言う数値に結びついてます。実際の
ファイルやプリンタをユニット番号に結び付けるやり方は、いろいろあり、
OS によっても違ったりします。

一番簡単なのは OPEN を使うことです。きっと、そのソースには、こんな行が
あるはずなんで、探してみて下さい。

   OPEN(99, 'オープンされるファイル名', 何かのオプション)

こんな感じになっているかも。

   OPEN(UNIT=99, FILE='オープンされるファイル名', 何かのオプション)

また、ファイル名が変数に入っているかもしれません。

HP の FORTRAN は、使ったことがないんで詳しくは分からないんですが、

> FILE: ., UNIT: 99

というエラーメッセージが出ていると言うことは、ファイル名に "." つまり、
カレントディレクトリが割り当てられており、そこから READ しようとして
エラーになっている、ということなのかも。

# ソースが分からんので、あくまでも想像の範囲で、の回答です (^^;
    • good
    • 0

HP の FORTRAN でしょうか?



その「あるプログラム」に、ユニット99に対して、READ をしているところが有る
と思うんですが、その READ で失敗してます。

例えば、整数型の読み込みにしているのに、整数とは思えない文字が入っていると
こんなエラーが出ます。例えば、

READ(99,'(I6)') III

という読み込みに対し、

XYZ

という入力を与えると、このエラーが出ると思います。

# 試したわけじゃないんで、一応「自信無し」にしておきますが


ちなみに、FORTRAN のマニュアルはないんですか?
エラー番号で引くと、原因は一発で分かりますよ。

参考URL:http://lithos.gat.com/docview/hp_fortran_errors. …

この回答への補足

ありがとうございます。

しかし、fortranに全くふれたことがないので、ユニット99がどこをさすのか
わかりません。
ちなみにこのプログラムも自分で作ったものでないため、具体的に
どのような動作をするものなのか把握してないのです。

初歩的な事ですが、ユニット99の探し方教えていただけますか?

補足日時:2001/10/30 17:16
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング