Intel® Fortran Compiler 16.0 User and Reference Guide
The following rules apply to input and output data for numeric editing (data edit descriptors I, B, O, Z, F, E, EN, ES, D, and G).
Leading blanks in the external field are ignored. If BLANK='NULL' is in effect (or the BN edit descriptor has been specified) embedded and trailing blanks are ignored; otherwise, they are treated as zeros. An all-blank field is treated as a value of zero.
The following table shows how blanks are interpreted by default:
Type of Unit or File |
Default |
---|---|
An explicitly OPENed unit |
BLANK='NULL' |
An internal file |
BLANK='NULL' |
A preconnected file1 |
BLANK='NULL' |
1 For interactive input from preconnected files, you should explicitly specify the BN or BZ edit descriptor to ensure desired behavior. |
A minus sign must precede a negative value in an external field; a plus sign is optional before a positive value.
In input records, constants can include any valid kind parameter. Named constants are not permitted.
If the data field in a record contains fewer than w characters, an input statement will read characters from the next data field in the record. You can prevent this by padding the short field with blanks or zeros, or by using commas to separate the input data. The comma terminates the data field, and can also be used to designate null (zero-length) fields. For more information, see Terminating Short Fields of Input Data.
The field width w must be large enough to include any leading plus or minus sign, and any decimal point or exponent. For example, the field width for an E data edit descriptor must be large enough to contain the following:
For positive numbers: d + 5 or d + e + 3 characters
For negative numbers: d + 6 or d + e + 4 characters
A positive or zero value (zero is allowed for I, B, O, Z, F, and G descriptors) can have a plus sign, depending on which sign edit descriptor is in effect. If a value is negative, the leftmost nonblank character is a minus sign.
If the value is smaller than the field width specified, leading blanks are inserted (the value is right-justified). If the value is too large for the field width specified, the entire output field is filled with asterisks (*).
When the value of the field width is zero, the compiler selects the smallest possible positive actual field width that does not result in the field being filled with asterisks.