虚拟方法

Gio文件create_readwrite

自:2.22

声明 [源]

GFileIOStream*
create_readwrite (
  GFile* file,
  GFileCreateFlags flags,
  GCancellable* cancellable,
  GError** error
)

描述 [源]

创建一个新的文件并返回一个用于读取和写入的流。文件必须不存在。

默认情况下,创建的文件通常可被所有人读取,但如果在 flags 中传递 G_FILE_CREATE_PRIVATE,则文件将只能被当前用户读取,读取的级别由目标文件系统支持。

如果 cancellable 不是 NULL,则操作可以被来自另一个线程触发的可取消对象取消。如果操作被取消,将返回错误 G_IO_ERROR_CANCELLED

如果已存在具有此名称的文件或目录,将返回 G_IO_ERROR_EXISTS 错误。某些文件系统不允许所有文件名,可能返回 G_IO_ERROR_INVALID_FILENAME 错误,如果名称太长,将返回 G_IO_ERROR_FILENAME_TOO_LONG。还可能有其他错误,具体取决于文件所在的文件系统。

请注意,在许多非本地文件情况下,不支持读取和写入流,因此请确保您真正需要进行读取和写入流操作,而不仅仅是打开读取或写入。

自:2.22

参数

标志

类型: GFileCreateFlags

一系列的 GFileCreateFlags

cancellable

类型: GCancellable

可选的 GCancellable 对象,NULL 表示忽略。

该参数可以是 NULL
数据由方法调用者所有。
错误

类型: GError **

一个可恢复错误的返回位置。

该参数可以是 NULL
如果返回位置不是 NULL,则您必须将其初始化为零 GError*
如果虚拟函数没有错误,则参数将初始化为 NULL
如果有错误,参数将设置为一个新的分配的 GError;调用者将拥有数据,并负责释放它。

返回值

类型: GFileIOStream

为新建文件返回一个 GFileIOStream,或错误时返回 NULL。使用 g_object_unref() 释放返回的对象。

方法调用者拥有返回的数据,并负责释放它。