功能

GLibfile_open_tmp

声明 [src]

gint
g_file_open_tmp (
  const gchar* tmpl,
  gchar** name_used,
  GError** error
)

描述 [src]

在首选的临时文件目录(由 g_get_tmp_dir() 返回)中打开文件进行写入。

tmpl 应为 GLib 文件名编码中的字符串,包含六个“X”字符序列,如 g_mkstemp() 的参数。然而,与这些函数不同,模板应仅为基本名称,不允许有目录组件。如果模板为 NULL,将使用默认模板。

请注意,与 g_mkstemp()(和 mkstemp())不同,tmpl 未被修改,因此可能是一个只读文本字符串。

如果成功,且 name_usedNULL,则将在 name_used 中返回实际使用的名称。不再需要该字符串时,应使用 g_free() 释放该字符串。已返回名称采用 GLib 文件名编码。

参数

tmpl

类型: const gchar*

文件名模板,如 g_mkstemp() 所示,仅限基本名称,或 NULL 表示采用默认模板。

参数可以是 NULL
数据由函数调用者拥有。
该值是平台原生的字符串,在 Unix 上使用首选操作系统编码,在 Windows 上使用 UTF-8 编码。
name_used

类型: gchar**

用于存储实际使用名称的位置,或 NULL

参数将由函数设置。
函数调用者拥有返回数据的归属权,并负责释放它。
该值是平台原生的字符串,在 Unix 上使用首选操作系统编码,在 Windows 上使用 UTF-8 编码。
error

类型: GError **

可恢复错误 的返回位置。

参数可以是 NULL
如果返回位置不为 NULL,则必须将其初始化为 NULL GError*
如果没有错误,参数将由函数初始化并留空 NULL
如果发生错误,参数将设置一个新分配的 GError;调用者将拥有数据的归属权,并负责释放它。

返回值

类型: gint

指向打开的文件的文件句柄(如 open() 所示),此文件已打开,可用于读写。在有区别的平台上,该文件在二进制模式下打开。该文件句柄应使用 close() 关闭。如果发生错误,将返回 -1,并将设置 error