Method Stdio.Fd()->open()
- Method open
int open(string filename, string mode)
int open(string filename, string mode, int access)
int open(int fd, string mode)- Description
Open a file, or use an existing fd.
If filename is given, attempt to open the named file. If fd is given instead, it should be the file descriptor for an already opened file, which will then be used by this object.
mode describes how the file is opened. It's a case-insensitive string consisting of one or more of the following letters:
- "r"
Open for reading.
- "w"
Open for writing.
- "a"
Append new data to the end.
- "c"
Create the file if it doesn't exist already.
- "t"
Truncate the file to zero length if it already contains data. Use only together with
"w"
.- "x"
Open exclusively - the open fails if the file already exists. Use only together with
"c"
. Note that it's not safe to assume that this is atomic on some systems.
access specifies the permissions to use if a new file is created. It is a UNIX style permission bitfield:
- 0400
User has read permission.
- 0200
User has write permission.
- 0100
User has execute permission.
- 0040
Group has read permission.
- 0020
Group has write permission.
- 0010
Group has execute permission.
- 0004
Others have read permission.
- 0002
Others have write permission.
- 0001
Others have execute permission.
It's system dependent on which of these bits that are actually heeded. If access is not specified, it defaults to
00666
, but note that on UNIX systems it's masked with the process umask before use.- Returns
Returns nonzero on success and
0
(zero) on failure. If there is a failure then errno returns the error code.- See also