• ベストアンサー

g77でのエラー

 私は、主にMS-DOSでwatcom fortranを用いてコンパイルしています。  OPENファイル名をパソコンの画面から読みとるとき、今までは、例えば次のように書いてきました。 character*20 filename write(*,100) read(*,200) filename 100 format(/,'input filename='\) 200 format(A)  すると、画面上に、 input filename= が出て、改行しなくてもその横にファイル名を書くことができました。  しかし、最近Cygwinでg77でコンパイルするようになり、上記の例の場合、\のところでエラーが出ます(Missing close-parenthese(s)~、Unrecognized character~など)。 g77を用いて、改行せずに’input filename=ファイル名’というふうにプログラムを組みたいのですが、上記の例の場合、どうすればいいんですか?教えてください。

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

  • ベストアンサー
  • hofuhofu
  • ベストアンサー率70% (336/476)
回答No.2

私の環境(Win98SE+Cygwin最新版)では動いたのですが。 結果はどうなったのでしょう?(エラーが出た。改行されてしまった等) ちなみに私が試してみたのは以下のようなソースです。 character*20 filename write(*,100) read(*,200) filename 100 format(/,'input filename=',$) 200 format(A) write(*,*) filename stop end 改行抑止の記述子はコンパイラ毎の独自拡張なので、対応はまちまちですが、g77は$でいけると思うのですが。 http://www.ip.media.kyoto-u.ac.jp/htomita/sec5.html#5.2.1.

yoo7660
質問者

お礼

ご返事どうも有り難うございます。私の間違いでした。$でできました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • hofuhofu
  • ベストアンサー率70% (336/476)
回答No.1

\の代わりに$を使えませんか? format(/,'input filename=',$)

yoo7660
質問者

お礼

ご返事どうも有り難うございます。ためでした。

すると、全ての回答が全文表示されます。

関連するQ&A

データ転送できない
このQ&Aのポイント
  • TransferManagerからTD2130本体へのデータ転送ができないという問題が発生しています。エディターで作成したラベルシールファイルを転送する際にデータ変換エラーが表示されています。
  • お使いの環境はWindows10でWi-Fi接続されています。電話回線の種類に関しては記載がありません。
  • お困りの問題はブラザー製品であり、TransferManagerを使用したデータ転送ができないというものです。
回答を見る

専門家に質問してみよう