struct tm *tm; struct stat myls;
时间: 2024-10-16 18:12:08 浏览: 31
`struct tm` 和 `struct stat` 是两种在 C 语言中常见的数据结构,它们分别对应于时间和文件状态信息。
`struct tm` 是 C 标准库 `<time.h>` 中用于存储时间的相关信息的结构体,它通常与 `localtime()` 和 `gmtime()` 等函数一起使用,用于把 `time_t` 类型的时间戳按照特定格式分解成年、月、日等元素,便于用户理解和操作。它的典型形式如下:
```c
typedef struct {
int tm_year; // 从1900年开始的年份
int tm_mon; // 月份,范围是0(January)到11
int tm_mday; // 月份中的日期
int tm_hour; // 小时,24小时制
int tm_min; // 分钟
int tm_sec; // 秒
int tm_wday; // 星期几,范围是0(Sunday)到6
int tm_yday; // 当年的第几天
int tm_isdst; // DST(夏令时)标志
} tm;
```
`struct stat` 则是由 `sys/stat.h` 提供的,用于获取文件或目录的基本属性,例如大小、权限、创建和修改时间等。例如:
```c
struct stat {
dev_t st_dev; // 设备 ID
ino_t st_ino; // 物理索引节点号
mode_t st_mode; // 权限和文件类型
nlink_t st_nlink; // 链接数
uid_t st_uid; // 用户ID
gid_t st_gid; // 组ID
off_t st_size; // 文件大小(字节)
... // 其他时间戳如st_atime、st_mtime和st_ctime
};
```
这里的 `st_mtime` 就是指 `mtime` 时间戳,即最后一次修改时间。
阅读全文