PR_Open¶
打开文件以进行读取、写入或同时进行读取和写入。也用于创建文件。
语法¶
#include <prio.h>
PRFileDesc* PR_Open(
const char *name,
PRIntn flags,
PRIntn mode);
参数¶
该函数具有以下参数
name
要打开的文件的路径名。
flags
文件状态标志定义如何访问文件。它是以下位标志的按位
OR
操作。在大多数情况下,只能使用前三个标志中的一个。如果flags
参数不包含前三个标志中的任何一个(PR_RDONLY
、PR_WRONLY
或PR_RDWR
),则无法读取或写入打开的文件,这没有用处。
注意
常量 PR_RDWR 及其相关常量不在任何接口中 (bug 433295)。因此,它们不能在 JavaScript 中使用,您必须使用八进制常量(请参阅 文件 I/O 代码片段)。
名称 |
值 |
描述 |
---|---|---|
|
0x01 |
只读打开。 |
|
0x02 |
只写打开。 |
|
0x04 |
读写打开。 |
|
0x08 |
如果文件不存在,则创建文件。如果文件存在,则此标志无效。 |
|
0x10 |
在每次写入之前,文件指针都设置为文件末尾。 |
|
0x20 |
如果文件存在,则其长度将截断为 0。 |
|
0x40 |
如果设置,则每次写入都将等待文件数据和文件状态都物理更新。 |
|
0x80 |
与 |
mode
当设置
PR_CREATE_FILE
标志并创建文件时,这些标志定义新创建文件的访问权限位。此功能目前仅适用于 Unix 平台。其他平台会忽略它,但将来可能会应用于其他平台。下面列出了mode
参数的可能值。
名称 |
值 |
描述 |
---|---|---|
|
0700 |
所有者具有读、写、执行/搜索权限。 |
|
0400 |
所有者具有读权限。 |
|
0200 |
所有者具有写权限。 |
|
0100 |
所有者具有执行/搜索权限。 |
|
0070 |
组具有读、写、执行/搜索权限 |
|
0040 |
组具有读权限 |
|
0020 |
组具有写权限 |
|
0010 |
组具有执行/搜索权限 |
|
0007 |
其他用户具有读、写、执行/搜索权限 |
|
0004 |
其他用户具有读权限 |
|
0002 |
其他用户具有写权限 |
|
0001 |
其他用户具有执行/搜索权限 |
返回值¶
该函数返回以下值之一
如果文件成功打开,则返回指向为新打开的文件动态分配的 PRFileDesc 的指针。应通过调用 PR_Close 释放 PRFileDesc。
如果文件未成功打开,则返回
NULL
指针。
描述¶
PR_Open 为具有路径名 name
的文件创建文件描述符 (PRFileDesc),并根据 flags
的值设置文件描述符的文件状态标志。如果由于 PR_Open 调用而创建了一个新文件,则其文件模式位将根据 mode
参数设置。