函数

GLibstat

自从:2.6

声明 [源]

int
g_stat (
  const gchar* filename,
  GStatBuf* buf
)

描述 [源]

是 POSIX stat() 函数的包装器。函数 stat() 返回有关文件的信息。在 Windows 上,C 库中的 stat() 函数仅检查 FAT 风格的 READONLY 属性,根本不查看 ACL。因此,在 Windows 上,st_mode 字段中的保护位几乎没有用处。

在 Windows 上,Microsoft C 库有几种名为 _stat(), _stat32(), _stat32i64() 和 _stat64i32() 的 stat 结构体和 stat() 函数变体。这里使用的是针对 32 位代码的带有 32 位大小和时间的变体,具体称为 _stat32()。

在 Microsoft 编译器中,默认情况下 struct stat 意味着具有 64 位时间字段的结构体,而在 MinGW 中 struct stat 是具有 32 位字段的遗留结构体。为了更清晰地解决这个问题,gstdio.h 头文件定义了一个类型 GStatBuf,该类型取决于平台和/或所使用的编译器。在 POSIX 上,它只是 struct stat,但请注意,即使是在 POSIX 平台上,stat() 也可能是一个宏。

有关 stat() 的更多详细信息,请参阅您的 C 库手册。

自 2.6 版本以来可用

参数

filename

类型: const gchar*

GLib 文件名编码中的路径名(Windows 上为 UTF-8)。

数据由函数的调用者拥有。
值是平台原生字符串,使用 Unix 上首选的 OS 编码和 Windows 上的 UTF-8。
buf

类型: GStatBuf

指向 stat 结构体的指针,该结构体将被填充为文件信息。

数据由函数的调用者拥有。

返回值

类型: int

如果成功检索信息则为 0,如果发生错误则为 -1。