---
name: "VistaIOOpenFile"
section: "3"
platform: "linux"
package: "libvistaio-dev"
version: "1.2.19-3+b2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/VistaIOOpenFile"
---

# VistaIOOpenFile(3)

open file with error checking

## NAME

VistaIOOpenInputFile, VistaIOOpenOutputFile - open file with error checking

## SYNOPSIS

```
#include <vistaio.h>
```

**FILE \*VistaIOOpenInputFile (VistaIOStringConst *filename*, VistaIOBoolean *nofail*);**

**FILE \*VistaIOOpenOutputFile (VistaIOStringConst *filename*, VistaIOBoolean *nofail*);**

## ARGUMENTS

- *filename*

  Specifies he name of the file to be opened.

- *nofail*

  Specifies whether the routine should exit the program if the file cannot be opened.

## DESCRIPTION

These routines open a file while checking for failure and recognizing the special filename \`\`-'' as denoting the standard input or output stream.

If *filename* is  **NULL** or it is the string \`\`-'', either **stdin** or **stdout** is returned. Otherwise, an attempt is made to open the named file for either reading or writing, as appropriate. If the attempt is successful, the resulting file pointer is returned.

The *nofail* argument determines what happens if a file cannot be opened. If *nofail* is  **FALSE** then a warning message is issued and **NULL** is returned. If *nofail* is **TRUE** then a fatal error message is issued and the program is terminated.

## RETURN VALUES

Either routing returns a pointer to the opened **FILE** if successful. Otherwise it returns **NULL** or doesn't return at all (depending on *nofail*).

## SEE ALSO

[**VistaIOIdentifyFiles**(3)](/VistaIOIdentifyFiles/3.md), [**VistaIOReadObjects**(3)](/VistaIOReadObjects/3.md), [**VistaIOWriteObjects**(3)](/VistaIOWriteObjects/3.md),

## DIAGNOSTICS

- \`\`Unable to open input/output file *filename*.''

  ## AUTHOR

Art Pope \<pope@cs.ubc.ca\>

Adaption to vistaio: Gert Wollny \<gw.fossdev@gmail.com\>
