形式:
スラッシュ編集記述子は、現在のレコードに関するデータ転送の終わりを示します。繰り返し指定子 (r) は、デフォルト値として 1 を持ちます。
順次アクセスを使用して入力用のファイルに接続する場合、スラッシュ編集記述子を検出するたびに、ファイルは次のレコードの始めに位置付けられます。
順次アクセスを使用して出力用のファイルに接続する場合、スラッシュ編集記述子を検出するたびに、新しいレコードが作成され、ファイルがその新しいレコードの開始点から書き込まれるように位置付けられます。
直接アクセスを使用して入力または出力用のファイルに接続する場合、スラッシュ編集記述子を検出するたびに、レコード番号が 1 つずつ増やされ、そのレコード番号のついたレコードの先頭にファイルが位置付けられます。
ストリーム・アクセスを使用して入力用のファイルに接続する場合、スラッシュ編集記述子を検出するたびに、ファイルは次のレコードの先頭に位置付けられ、現在のレコードの残りの部分がスキップされます。ストリーム・アクセス用に接続されたファイルへの出力時は、新たに作成された空のレコードが現在のレコードの後に続きます。新しいレコードは現在のレコードおよび、ファイルの最後のレコードの両方になり、新しいレコードの先頭がファイル位置になります。
500 FORMAT(F6.2 / 2F6.2) 100 FORMAT(3/)
形式:
I/O リストにそれ以上項目がない場合、コロン編集記述子は、形式制御を終了させます。コロンが検出されたときに、I/O リスト内にまだ項目が残っている場合、コロンは無視されます。詳細については、 I/O リストと形式仕様の相互作用を参照してください。
10 FORMAT(3(:'Array Value',F10.5)/)
+----------------------------------IBM 拡張----------------------------------+
形式:
ドル編集記述子は、順次または定様式ストリーム WRITE ステートメントのレコード終わり処理を抑止します。通常、形式仕様の終わりに達すると、現在のレコードのデータ伝送が停止し、ファイルは、次の I/O 操作によって新しいレコードが処理されるように位置付けられます。しかし、形式仕様内にドル記号がある場合は、自動的なレコードの終わり処理は抑止されます。それ以降の I/O ステートメントで、同じレコードに関する読み取りまたは書き込みを行うことができます。
ドル記号編集は、通常、応答の指示や、同じ行からの応答の読み取りを行うために使用します。
WRITE(*,FMT='($,A)')'Enter your age ' READ(*,FMT='(BN,I3)')IAGE WRITE(*,FMT=1000) 1000 FORMAT('Enter your height: ',$) READ(*,FMT='(F6.2)')HEIGHT
+--------------------------------IBM 拡張の終り-------------------------------+
形式:
アポストロフィ / 二重引用符の編集記述子は、出力形式仕様内に文字リテラル定数を指定します。出力フィールドの幅は、文字リテラル定数の長さになります。文字リテラル定数の詳細な内容については、 文字 を参照してください。
+----------------------------------IBM 拡張----------------------------------+
注:
+--------------------------------IBM 拡張の終り-------------------------------+
ITIME=8 WRITE(*,5) ITIME 5 FORMAT('The value is -- ',I2) ! The value is -- 8 WRITE(*,10) ITIME 10 FORMAT(I2,'o'clock') ! 8o'clock WRITE(*,'(I2,'o'clock')') ITIME ! 8o'clock WRITE(*,15) ITIME 15 FORMAT("The value is -- ",I2) ! The value is -- 8 WRITE(*,20) ITIME 20 FORMAT(I2,"o'clock") ! 8o'clock WRITE(*,'(I2,"o'clock")') ITIME ! 8o'clock
形式:
BN および BZ 編集記述子は、引き続いて処理されると、I、F、E、EN、ES、D、G、B、O、 Z、および拡張精度 Q 編集記述子に、非先行ブランクをどのように解釈させるかを制御します。BN および BZ は入力の場合にのみ機能します。
BN は、数字入力フィールド内のブランクを無視することを指定し、残りの文字は右寄せされる場合と同様に解釈されます。ブランクだけからなるフィールドの値はゼロとなります。
BZ は、数字入力フィールド内の非先行ブランクをゼロとして解釈するように指定します。
ブランクの解釈の最初の設定は、OPEN ステートメントの BLANK= 指定子により決まります。 (OPENを参照してください。) 最初の設定は、次のように決まります。
ブランクの解釈について、最初に設定された内容は、定様式の READ ステートメントの実行開始点から、BN または BZ 編集記述子を検出するか、または形式制御が終了するまで有効です。 BN または BZ 編集記述子を検出すると、別の BN または BZ 編集記述子を検出するか、形式制御が終了するまで、その設定は有効となります。
+----------------------------------IBM 拡張----------------------------------+
-qxlf77 コンパイラー・オプションの oldboz サブオプションを指定すると、BN および BZ 編集記述子は、B、O、または Z 編集記述子で編集されたデータ入力に影響しません。ブランクは、ゼロとして解釈されます。
+--------------------------------IBM 拡張の終り-------------------------------+
形式:
H 編集記述子は、出力形式仕様内で文字ストリング (str) およびその長さ (n) を指定します。ストリングは、文字リテラル定数に使用できる任意の文字で構成されます。
H 編集記述子が文字リテラル定数内にあり、定数区切り文字 (たとえば、アポストロフィ) が 2 つ続いている場合、それらの文字は str 内に表されます。それ以外の場合は、別の区切り文字を使用する必要があります。
注:
+----------------------------------IBM 拡張----------------------------------+
+--------------------------------IBM 拡張の終り-------------------------------+
+---------------------------------Fortran 95---------------------------------+
+------------------------------Fortran 95 の終り------------------------------+
50 FORMAT(16HThe value is -- ,I2) 10 FORMAT(I2,7Ho'clock) WRITE(*,'(I2,7Ho'clock)') ITIME
形式:
指定したスケール因数 K は、別のスケール因数を検出するか、形式制御が終了するまで、後で処理されるすべての F、E、EN、ES、D、G、および拡張精度 Q 編集記述子に適用されます。各 I/O ステートメントの実行が開始される時点では、k の値はゼロです。 k の値は、10 の累乗を表す整数値で、必要な場合には符号が付きます。
入力の場合、F、E、EN、 ES、D、G、または拡張精度 Q 編集記述子を指定した入力フィールドに指数が入っていると、そのスケール因数は無視されます。指数が入っていなければ、内部値は、外部値に 10(-k) を掛けた値に等しくなります。
出力の場合:
Input Format Value 98.765 3P,F8.6 .98765E-1 98.765 -3P,F8.6 98765. .98765E+2 3P,F10.5 .98765E+2
Value Format Output Output (-qxlf77=noleadzero の指定) (-qxlf77=leadzero の指定) 5.67 -3P,F7.2 bbbb.01 bbb0.01 12.34 -2P,F6.4 b.1234 0.1234 12.34 2P,E10.3 b12.34E+00 b12.34E+00
形式:
S、SP、および SS 編集記述子は、後で処理されるすべての I、F、E、 EN、ES、D、G、および拡張精度 Q 編集記述子の正符号を制御します。これは、別の S、SP、または SS 編集記述子を検出するか、あるいは形式制御が終了するまで有効です。
S および SS は、正符号を書き込まないという指定です。 (どちらの編集記述子を指定しても、結果は同じになります。) SP は、正符号を書き込む指定です。
Value Format Output 12.3456 S,F8.4 b12.3456 12.3456 SS,F8.4 b12.3456 12.3456 SP,F8.4 +12.3456
形式:
T、TL、TR、および X 編集記述子は、次に行う文字の転送を、レコード内のどの位置から開始するかを指定します。 T および TL 編集記述子は、ファイル位置で左タブ制限を使用します。データ転送の直前、左タブ制限の定義は、ストリーム・ファイルの現在のレコードまたは現在の位置の文字位置になります。 T、TL、TR、および X は文字位置を次のように指定します。
TR および X 編集記述子の結果は同じです。
入力の場合、TR または X 編集記述子によって、レコードの最後の文字を超えた位置を指定することができます。
出力の場合、T、TL、TR、または X 編集記述子だけでは、文字は転送されません。この編集記述子で指定した位置以降で文字を転送する場合、スキップした位置および以前に埋められていない位置はブランクで埋められます。結果は、そのレコード全体が最初からブランクであった場合と同じです。
出力の場合、T、TL、TR、または X 編集記述子によって、位置が指定し直されます。その結果、後から他の編集記述子を使用して編集を行うと、文字が置換されます。
+----------------------------------IBM 拡張----------------------------------+
X 編集記述子は、文字位置なしで指定することができます。これは、1X として扱われます。ソース・ファイルを -qlanglvl=90std または -qlanglvl=95std でコンパイルすると、この拡張機能はコンパイル時形式仕様すべてで使用不能とされ、 oX が実行されます。 この拡張機能を実行時形式で使用不能にするには、次の実行時オプションを設定する必要があります。
XLFRTEOPTS="langlvl=90std" or "langlvl=95std" ; export XLFRTEOPTS
+--------------------------------IBM 拡張の終り-------------------------------+
150 FORMAT(I4,T30,I4) 200 FORMAT(F6.2,5X,5(I4,TL4))
50 FORMAT('Column 1',5X,'Column 14',TR2,'Column 25') 100 FORMAT('aaaaa',TL2,'bbbbb',5X,'ccccc',T10,'ddddd')