方法

GioFilecreate_readwrite

自 2.22 版本以来

声明 [src]

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

描述 [src]

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

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

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

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

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

自 2.22 版本以来可用

参数

flags

类型: GFileCreateFlags

一组 GFileCreateFlags

cancellable

类型: GCancellable

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

该参数可以为 NULL
数据由方法的调用者拥有。
error

类型: GError **

用于恢复错误的返回位置。

该参数可以为 NULL
如果返回位置不是 NULL,则必须将其初始化为 NULL GError*
如果没有错误,方法将保持将参数初始化为 NULL
发生错误时,参数将设置为一个新的 GError;调用者将拥有数据的所有权,并负责释放它。

返回值

类型: GFileIOStream

为刚创建的文件创建的 GFileIOStream,或者在错误情况下为 NULL。使用 g_object_unref() 释放返回的对象。

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