- ベストアンサー
fortranで
変数の中身を文字定数に入れるにはどうしたらいいのですか? たとえばintegerでa = 5 という変数があって、characterでbが文字定数として宣言しているとします。 bにaの中身の5という文字を入れるということです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
手元の Intel Fortran で試しましたが, write(b, *) a ではダメでした. フォーマットも指定しないといけないようです. ちなみに write(b, '(I1)') a では OK. なお, write を使わずに配列で逃げる手もありますが....
その他の回答 (1)
- Tacosan
- ベストアンサー率23% (3656/15482)
write の装置番号のところに文字列変数を与えればよかったと思う. write(b, *) a でどう?
補足
jwe0131i-e line 10 The end of the character variable in an internal file I/O sta tement was detected. error occurs at MAIN__ line 10 loc 00010644 offset 0000002c MAIN__ at loc 00010618 called from o.s. taken to (standard) corrective action, execution continuing. error summary (Fortran) error number error level error count jwe0131i e 1 total error count = 1 というエラーがでます。 変数aが1から9まで代入されて、それからbにその値を文字として代入したいんですが、やはりIF文かCASE文を使ってやるしかないのでしょうか? その方法では一応対処できるんですが、プログラムが長くなるのでできれば省略したいんです。
お礼
その方法でできました!ありがとうございます。 case文を使うよりも結構短くできてうれしいです♪