プロが教える店舗&オフィスのセキュリティ対策術

FORTRAN90で数表をテキストファイルに書き出すプログラムをつくっています。テキストエディタから印刷したときに改行や改頁ができるように改行コードや改頁コードをファイルに入れたいのですが、
その記述の仕方がわかりません。
たとえば下記のような場合、どのような記載をすればよいのでしょうか?

DO I=Q,R
WRITE(9,"(I4,7(1X,A))") I,(A(J,I),J=O,P)
END DO

どなたか詳しい方、教えていただけませんでしょうか。
よろしくお願いいたします。

A 回答 (3件)

#2 の方針をとると, 「指定した ASCII コードを持つ文字」が求まればよいわけだから組み込み関数の ACHAR を使えばよい

ような感じです.
    • good
    • 0
この回答へのお礼

Tacosan様
 ACHAR(12)で文字変数を設定し、それをWRITEすることで
改頁を表現することができました。
 どうもありがとうございました。

お礼日時:2007/06/03 18:28

ホストのFORTRANでは、行頭の文字が制御文字となっていますが、PCだとどうなるかは、今、手元にテスト環境がないので不明です。


また、#1の方のおっしゃるように、スラッシュ/は改行文字になります。

スペース:通常の改行
0:二行改行(一行空け)
1:改ページ
+:重ね打ち
2-9:それぞれの行数改行(サポートしていないシステムもある)

WRITE(9,"(I4,7(1X,A))") I,(A(J,I),J=O,P)

WRITE(9,"(1H1,I4,7(1X,A))") I,(A(J,I),J=O,P)

とすれば、改ページしてからの印字になります。

また、A変換で直接改行(WindowsならCR/Lなので、Z0D0A)、改ページ(Z0C)を直接出力してしまうという方法もあります(ただ、これをやると、エディタが誤動作するかも)。

CHARACTER*1 FF / Z0C /

WRITE(9,"(A1,I4,7(1X,A))") FF,I,(A(J,I),J=O,P)
    • good
    • 0
この回答へのお礼

ultraCS様
 ご丁寧な回答をいただき、ありがとうございます。
教えていただいた2つの方法をやってみました。

その1
WRITE(9,"(1H1,I4,7(1X,A))") I,(A(J,I),J=O,P)
結果
 各行の先頭に1が書かれたテキストファイルを生成

その2
CHARACTER*1 FF / Z0C /
WRITE(9,"(A1,I4,7(1X,A))") FF,I,(A(J,I),J=O,P)
結果
 各行の先頭にZが書かれたテキストファイルを生成

という結果でした。
その後もいろいろと調べているのですが、今回はホストでなく
PCからテキストに書き出すということなので、改頁コードを
ファイルに直接書いてやればいいということかなと思っています。
改頁コードをテキストファイルに書く方法についてもう少し
教えていただければと思っています。

お礼日時:2007/05/31 10:19

改行だけなら / 編集でできるけど (/ のあるところで改行されるみたい)....


改ページなんて存在しない気がするなぁ.
    • good
    • 0
この回答へのお礼

早速にご回答いただき、ありがとうございます。
スラッシュが改行だということですね。
試してみます。

お礼日時:2007/05/31 08:45

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