Intel® Fortran Compiler Classic and Intel® Fortran Compiler Developer Guide and Reference

ID 767251
Date 3/22/2024
Public
Document Table of Contents

I/O Control List

The I/O control list specifies one or more of the following:

  • The I/O unit to act upon ([UNIT=]io-unit)

    This specifier must be present; the rest are optional.

  • The format (explicit or list-directed) to use for data editing; if explicit, the keyword form must appear ([FMT=]

  • The namelist group name to act upon ([NML=]group)

  • The number of a record to access (REC=)

  • The name of a variable that contains the completion status of an I/O operation (IOSTAT=)

  • The label of the statement that receives control if an error (ERR=), end-of-file (END=), or end-of-record (EOR=) condition occurs

  • Whether you want to use advancing or nonadvancing I/O (ADVANCE=)

  • The number of characters read from a record (SIZE=)

  • Whether you want to use asynchronous or synchronous I/O (ASYNCHRONOUS=)

  • The identifier for a pending data transfer operation (ID=)

  • The identifier for the file position in file storage units in a stream file (POS=)

  • The name of a variable that contains an error message (IOMSG=)

No control specifier can appear more than once, and the list must not contain both a format specifier and namelist group name specifier.

Control specifiers can take any of the following forms:

  • Keyword form

    When the keyword form (for example, UNIT=io-unit) is used for all control-list specifiers in an I/O statement, the specifiers can appear in any order.

  • Nonkeyword form

    When the nonkeyword form (for example, io-unit) is used for all control-list specifiers in an I/O statement, the io-unit specifier must be the first item in the control list. If a format specifier or namelist group name specifier is used, it must immediately follow the io-unit specifier.

  • Mixed form

    When a mix of keyword and nonkeyword forms is used for control-list specifiers in an I/O statement, the nonkeyword values must appear first. Once a keyword form of a specifier is used, all specifiers to the right must also be keyword forms.