Mono Class Library: Mono.Unix.Native.Stdlib Overview | MembersMono.Unix.Native.Stdlib.freopen Method |
Reopen a FILE stream. [Edit]
|
Upon successful completion, returns a FILE pointer. Otherwise, IntPtr.Zero is returned and Stdlib.GetLastError indicates the error.
Usage
The following errors are specified:
Error Details Errno.EINVAL The mode argument was invalid. freopen may also fail for any of the error specified for the routines Stdlib.malloc(3), Syscall.open(2), Stdlib.fclose(3), and Stdlib.fflush(3).
[Edit]
The freopen() function opens the file whose name is the string pointed to by path and associates the stream pointed to by stream with it. The original stream (if it exists) is closed.
Use Stdlib.fclose to close the returned FILE stream.
The argument mode points to a string beginning with one of the following sequences (Additional characters may follow these sequences.):
mode Description "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.
If the path argument is null, freopen() attempts to re-open the file associated with stream with a new mode. The new mode must be compatible with the mode that the stream was originally opened with:
- Streams originally opened with mode "r" can only be reopened with that same mode.
- Streams originally opened with mode "a" can be reopened with the same mode, or mode "w".
- Streams originally opened with mode "w" can be reopened with the same mode, or mode "a".
- Streams originally opened with mode "r+", "w+", or "a+" can be reopened with any mode.
The primary use of the freopen() function is to change the file associated with a standard text stream (Stdlib.stderr, Stdlib.stdin, or Stdlib.stdout).
[Edit]
Namespace: Mono.Unix.Native
Assembly: Mono.Posix (in Mono.Posix.dll)
Assembly Versions: 1.0.5000.0, 2.0.0.0