方法
GioFilereplace_contents
声明 [源代码]
gboolean
g_file_replace_contents (
GFile* file,
const char* contents,
gsize length,
const char* etag,
gboolean make_backup,
GFileCreateFlags flags,
char** new_etag,
GCancellable* cancellable,
GError** error
)
描述 [源代码]
用长度为《length》字节的《contents》内容替换《file》的内容。
如果指定了《etag》,任何现有文件必须具有该etag,否则将返回错误《G_IO_ERROR_WRONG_ETAG》。
如果《make_backup》是《TRUE》,则此函数将尝试备份《file》。内部它使用g_file_replace(),将尝试以最安全的方式替换文件内容。例如,当替换本地文件内容时使用原子重命名。
如果《cancellable》不是《NULL》,则可以通过在另一个线程中触发可取消的对象来取消操作。如果操作被取消,则返回错误《G_IO_ERROR_CANCELLED》。
返回的《new_etag》可以用来自证文件在下次保存时没有改变。
参数
contents
-
类型: 一个
guint8
数组包含用于《file》的新内容的字符串。
数组的长度由《length》参数指定。 数据由方法调用者所有。 length
-
类型:
gsize
《contents》的字节长度。
etag
-
类型:
const char*
文档的旧实体标签,或《NULL》。
参数可以设置为《NULL》。 数据由方法调用者所有。 值是一个以NUL终止的UTF-8字符串。 make_backup
-
类型:
gboolean
如果应该创建备份,《TRUE》。
flags
-
类型:
GFileCreateFlags
一组《GFileCreateFlags》。
new_etag
-
类型:
char**
指向文档的新的实体标签的位置。当不再需要时,应该使用《g_free()`》释放它,或《NULL》。
该参数将由函数设置。 该方法可以将参数设置為《NULL》。 参数可以设置为《NULL》。 方法的调用者拥有返回的数据,负责释放它。 值是一个以NUL终止的UTF-8字符串。 cancellable
-
类型:
GCancellable
可选的《GCancellable》对象,《NULL`忽略。
参数可以设置为《NULL》。 数据由方法调用者所有。 error
-
类型:
GError **
用于返回可恢复错误的返回位置。
参数可以设置为《NULL》。 如果返回位置不为《NULL》,则必须将其初始化为《NULL` GError*
`。如果不存在错误,则方法将留下初始化的参数为《NULL》。 在出错的情况下,参数将设置为一个新的《GError`;调用者将接管数据,并负责释放它。