The O data edit descriptor transfers octal (base 8) values. It takes the following form:
The value of m (the minimum number of digits in the constant) must not exceed the value of w (the field width). The m has no effect on input, only output.
The specified I/O list item can be of type integer, real, or logical.
On input, the O data edit descriptor transfers w characters from an external field and assigns their octal value to the corresponding I/O list item. The external field must contain only octal digits (0 through 7) or blanks.
If the value exceeds the range of the corresponding input list item, an error occurs.
The following shows input using the O edit descriptor (the symbol ^ represents a nonprinting blank character):
Format Input Value
O5 32767 32767
O4 16234 1623
O3 97^ An error; the 9 is invalid in octal notation
On output, the O data edit descriptor transfers the octal value of the corresponding I/O list item, right-justified, to an external field that is w characters long.
The field consists of zero or more blanks, followed by an unsigned integer constant (consisting of octal digits) with no leading zeros. A negative value is transferred in internal form without a leading minus sign.
If m is specified, the unsigned integer constant must have at least m digits. If necessary, it is padded with leading zeros.
If m is zero, and the output list item has the value zero, the external field is filled with blanks.
The following shows output using the O edit descriptor (the symbol ^ represents a nonprinting blank character):
Format Value Output
O6 32767 ^77777
O12 -32767 ^37777700001
O2 14261 **
O4 27 ^^33
O5 10.5 41050
O4.2 7 ^^07
O4.4 7 0007
For More Information: