函数

GLibfile_get_contents

声明 [源代码]

gboolean
g_file_get_contents (
  const gchar* filename,
  gchar** contents,
  gsize* length,
  GError** error
)

描述 [源代码]

将整个文件读入到已分配的内存中,并进行了良好的错误检查。

如果调用成功,它将返回 TRUE,并将 contents 设置为文件内容,将 length 设置为文件内容的长度(以字节为单位)。存储在 contents 中的字符串将以 null 结尾,因此对于文本文件,你可以为 length 参数传递 NULL。如果调用不成功,它将返回 FALSE 并设置 error。错误域是 G_FILE_ERROR。可能的错误代码是 GFileError 枚举中的代码。在错误情况下,contents 设置为 NULL,且 length 设置为 0。

参数

filename

类型: const gchar*

要从中读取内容的文件的名称,采用 GLib 文件名编码。

数据由函数的调用者所有。
该值是平台本机字符串,在 Unix 上使用首选操作系统编码,在 Windows 上使用 UTF-8。
contents

类型: guint8 数组

用于存储已分配字符串的位置,可以使用 g_free() 来释放返回的字符串。

该参数将由函数设置。
数组的长度在 length 参数中指定。
函数的调用者取得返回数据的拥有权,并负责释放它。
length

类型: gsize*

用于存储内容长度(以字节为单位)的位置,或 NULL

该参数将由函数设置。
该参数可由函数设置为 NULL
error

类型: GError **

可恢复错误的返回位置

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

返回值

类型: gboolean

成功时为 TRUE,如果发生错误,则为 FALSE