Mono Class Library: Mono.Unix.Native.Stdlib Overview | Members

Mono.Unix.Native.Stdlib.fopen Method

Open a file and associate a FILE stream with it. [Edit]

public static IntPtr fopen (string path, string mode)

Parameters

path
The filename to open. [Edit]
mode
The file mode for opening. See the Remarks section for more details. [Edit]

Returns

Upon successful completion, returns a FILE pointer. Otherwise, IntPtr.Zero is returned and Stdlib.GetLastError indicates the error.

Usage

The following errors are specified:

ErrorDetails
Errno.EINVALThe mode argument was invalid.

fopen may also fail for any of the error specified for the routines Stdlib.malloc(3) and Syscall.open(2).

[Edit]

Remarks

The fopen() function opens the file whose name is the string pointed to by path and associates a stream with it.

Use Stdlib.fclose to close the FILE stream.

The argument mode points to a string beginning with one of the following sequences (Additional characters may follow these sequences.):

modeDescription
"r" Open text file for reading. The stream is positioned at the beginning of the file.
"r+"Open for reading and writing. The stream is positioned at the beginning of the file.
"w"Truncate file to zero length or create text file for writing. The stream is positioned at the beginning of the file.
"w+"Open for reading and writing. The file is created if it does not exist, otherwise it is truncated. The stream is positioned at the beginning of the file.
"a"Open for writing. The file is created if it does not exist. The stream is positioned at the end of the file. Subsequent writes to the file will always end up at the then current end of file, irrespective of any intervening Stdlib.fseek(3) or similar.
"a+"Open for reading and writing. The file is created if it does not exist. The stream is positioned at the end of the file. Subsequent writes to the file will always end up at the then current end of file, irrespective of any intervening Stdlib.fseek(3) or similar.

The mode string can also include the letter "b" either as a third character or as a character between the characters in any of the two-character strings described above, and is used to enable binary reading/writing on platforms which have different text/binary encodings (read: Microsoft Windows). The default (non-bmode) is text encoding.

Any created files will have mode S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH (0666), as modified by the process' umask value (see Syscall.umask(2)).

ANSI C requires that a file positioning function intervene between output and input, unless an input operation encounters end-of-file.

[Edit]

Requirements

Namespace: Mono.Unix.Native
Assembly: Mono.Posix (in Mono.Posix.dll)
Assembly Versions: 1.0.5000.0, 2.0.0.0