# NAG FL Interfacex04acf (open)

## ▸▿ Contents

Settings help

FL Name Style:

FL Specification Language:

## 1Purpose

x04acf opens a Fortran unit number for reading, writing or appending, and associates the unit with a named file.

## 2Specification

Fortran Interface
 Subroutine x04acf ( file, mode,
 Integer, Intent (In) :: iounit, mode Integer, Intent (Inout) :: ifail Character (*), Intent (In) :: file
#include <nag.h>
 void x04acf_ (const Integer *iounit, const char *file, const Integer *mode, Integer *ifail, const Charlen length_file)
The routine may be called by the names x04acf or nagf_file_open.

## 3Description

x04acf is especially useful if the calling language is not Fortran. It opens a Fortran unit number for reading, writing or appending, and associates the unit with a filename specified by the argument file.

None.

## 5Arguments

1: $\mathbf{iounit}$Integer Input
On entry: the Fortran unit number which identifies the file to be read from, written to or appended to. Note that this may be system dependent. Values in the range $7$ to $1000$ should however be safe on most systems.
2: $\mathbf{file}$Character(*) Input
On entry: the name of the file to be opened.
Constraint: must contain a valid filename for the computer system being used.
3: $\mathbf{mode}$Integer Input
On entry: specifies whether the file is to be opened for reading, writing or appending.
${\mathbf{mode}}=0$
The file is to be opened for reading.
${\mathbf{mode}}=1$
The file is to be opened for writing.
${\mathbf{mode}}=2$
The file is to be opened for appending.
Constraint: $0\le {\mathbf{mode}}\le 2$.
4: $\mathbf{ifail}$Integer Input/Output
On entry: ifail must be set to $0$, $-1$ or $1$ to set behaviour on detection of an error; these values have no effect when no error is detected.
A value of $0$ causes the printing of an error message and program execution will be halted; otherwise program execution continues. A value of $-1$ means that an error message is printed while a value of $1$ means that it is not.
If halting is not appropriate, the value $-1$ or $1$ is recommended. If message printing is undesirable, then the value $1$ is recommended. Otherwise, the value $0$ is recommended. When the value $-\mathbf{1}$ or $\mathbf{1}$ is used it is essential to test the value of ifail on exit.
On exit: ${\mathbf{ifail}}={\mathbf{0}}$ unless the routine detects an error or a warning has been flagged (see Section 6).

## 6Error Indicators and Warnings

If on entry ${\mathbf{ifail}}=0$ or $-1$, explanatory error messages are output on the current error message unit (as defined by x04aaf).
Errors or warnings detected by the routine:
${\mathbf{ifail}}=1$
On entry, ${\mathbf{mode}}=⟨\mathit{\text{value}}⟩$.
Constraint: $0\le {\mathbf{mode}}\le 2$.
${\mathbf{ifail}}=2$
Cannot open file $⟨\mathit{\text{value}}⟩$ for reading on channel $⟨\mathit{\text{value}}⟩$.
${\mathbf{ifail}}=3$
Cannot open file $⟨\mathit{\text{value}}⟩$ for writing on channel $⟨\mathit{\text{value}}⟩$.
${\mathbf{ifail}}=4$
Cannot open file $⟨\mathit{\text{value}}⟩$ for appending on channel $⟨\mathit{\text{value}}⟩$.
${\mathbf{ifail}}=-99$
See Section 7 in the Introduction to the NAG Library FL Interface for further information.
${\mathbf{ifail}}=-399$
Your licence key may have expired or may not have been installed correctly.
See Section 8 in the Introduction to the NAG Library FL Interface for further information.
${\mathbf{ifail}}=-999$
Dynamic memory allocation failed.
See Section 9 in the Introduction to the NAG Library FL Interface for further information.

Not applicable.

## 8Parallelism and Performance

x04acf is not threaded in any implementation.

None.

## 10Example

This example illustrates how to open a file for writing.

### 10.1Program Text

Program Text (x04acfe.f90)

None.

### 10.3Program Results

Program Results (x04acfe.r)