方法

GioFiledelete

声明 [src]

gboolean
g_file_delete (
  GFile* file,
  GCancellable* cancellable,
  GError** error
)

描述 [src]

删除文件。如果 file 是目录,只有它在空的情况下才会被删除。这具有与 g_unlink() 相同的语义。

如果 file 不存在,将返回 G_IO_ERROR_NOT_FOUND。这允许在避免 检查到使用时间竞争 的情况下实现删除操作。

g_autoptr(GError) local_error = NULL;
if (!g_file_delete (my_file, my_cancellable, &local_error) &&
    !g_error_matches (local_error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND))
  {
    // deletion failed for some reason other than the file not existing:
    // so report the error
    g_warning ("Failed to delete %s: %s",
               g_file_peek_path (my_file), local_error->message);
  }

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

参数

cancellable

类型: GCancellable

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

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

类型: GError **

恢复性错误的返回位置。

该参数可以为 NULL
如果返回位置不是 NULL,则必须将其初始化为 NULLGError*
如果没有错误,方法将保留初始化到 NULL
发生错误时,该参数将设置为新分配的 GError;调用者将接管数据,并负责释放它。

返回值

类型: gboolean

TRUE 表示已删除文件。否则 FALSE