功能

GLibfopen

自:2.6

声明 [src]

FILE*
g_fopen (
  const gchar* filename,
  const gchar* mode
)

描述 [src]

stdio fopen() 函数的包装器。fopen() 函数打开一个文件并将其与一个新流关联。

由于文件描述符专用于 Windows 上的 C 库,并且文件描述符是 FILE 结构的一部分,此函数返回的 FILE* 仅对同一 C 库中的函数有意义。因此,如果使用 GLib 的代码使用与 GLib 不同的 C 库,此函数返回的 FILE* 不能传递给诸如 fprintf()fread() 之类的 C 库函数。

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

由于 close()fclose() 是 C 库的一部分,这意味着如果应用程序 C 库和 GLib 使用的 C 库不同,则当前无法关闭文件。g_file_set_contents_full() 等便利函数避免了这个问题。

自 2.6 起提供

参数

filename

类型: const gchar*

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

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

类型: const gchar*

描述打开文件的模式的字符串。

数据归函数调用者所有。
该值是一个以 NUL 结尾的 UTF-8 字符串。

返回值

类型: FILE*

如果文件打开成功,则为 FILE*;如果发生错误,则为 NULL

数据归被调用函数所有。
返回值可以为 NULL