函数
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
;调用者将取得数据的拥有权并负责释放它。