• ベストアンサー

FORTRANで作成したテキストファイル中で改行・改頁制御する方法を教えてください

FORTRAN90で数表をテキストファイルに書き出すプログラムをつくっています。テキストエディタから印刷したときに改行や改頁ができるように改行コードや改頁コードをファイルに入れたいのですが、 その記述の仕方がわかりません。 たとえば下記のような場合、どのような記載をすればよいのでしょうか? DO I=Q,R WRITE(9,"(I4,7(1X,A))") I,(A(J,I),J=O,P) END DO どなたか詳しい方、教えていただけませんでしょうか。 よろしくお願いいたします。

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

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

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

techipichi
質問者

お礼

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

その他の回答 (2)

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

ホストの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)

techipichi
質問者

お礼

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からテキストに書き出すということなので、改頁コードを ファイルに直接書いてやればいいということかなと思っています。 改頁コードをテキストファイルに書く方法についてもう少し 教えていただければと思っています。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

改行だけなら / 編集でできるけど (/ のあるところで改行されるみたい).... 改ページなんて存在しない気がするなぁ.

techipichi
質問者

お礼

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

関連するQ&A