函数

GLibopen

自:2.6

声明 [src]

int
g_open (
  const gchar* filename,
  int flags,
  int mode
)

描述 [src]

用于 POSIX open() 函数的包装器。open() 函数用于将路径名转换为文件描述符。

POSIX 系统上,文件描述符由操作系统实现。在 Windows 上,C 库负责实现 open() 和文件描述符。用于打开文件的实际 Win32 API 有很大不同,请参见 CreateFile() 的 MSDN 文档。Win32 API 使用文件句柄,它们是更加随机的整数,而不是像文件描述符那样的较小整数。

由于文件描述符在 Windows 上特定于 C 库,因此此函数返回的文件描述符仅对同一 C 库中的函数有意义。因此,如果使用 GLib 的代码使用与 GLib 不同的 C 库,则此函数返回的文件描述符无法传递给诸如 write() 或 read() 之类的 C 库函数。

有关 open() 的更多详细信息,请参见 C 库手册。

自以下版本可用:2.6

参数

filename

类型: const gchar*

GLib 文件名编码中的路径名(在 Windows 上为 UTF-8)。

数据归调用函数所有。
值是一个平台原生字符串,在 Unix 上使用首选操作系统编码,在 Windows 上使用 UTF-8。
flags

类型: int

同 open() 一样。

mode

类型: int

同 open() 一样。

返回值

类型: int

一个新文件描述符,或在发生错误时为 -1。该返回值可与 open() 的返回值完全一样使用。