f is a format identifier and can be:
An asterisk (*), indicating list-directed I/O. See "List-Directed I/O " for more information.
A label of a FORMAT statement that appears in the same program unit
An integer variable name that has been assigned the label of a FORMAT statement that appears in the same program unit
A character expression or integer array specifying the format string. This is called a runtime format or a variable format. The integer array is nonstandard. @
See "Runtime Formats " for details on formats evaluated at runtime.
If the optional characters, FMT=, are omitted from the format specifier, then f must appear as the second argument for a formatted read; otherwise, it must not appear at all.
Unformatted data transfer from internal files and terminal files is not allowed, hence, f must be present for such files.
List-directed data transfer from direct-access and internal files is allowed; hence, f can be an asterisk for such files. @
If a file is connected for formatted I/O, unformatted data transfer is not allowed, and vice versa.