The O data edit descriptor transfers octal (base 8) values. It takes the following form:

- O
*w*[.*m*]

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:**

- On the form for data edit descriptors, see
Section 11.2.1.
- On general rules for numeric editing, see Section 11.2.2.

Previous Page Next Page Table of Contents