在Windows 32位系统上,struct __stat64
和struct _stati64
都是用于存储文件状态信息的结构体。它们之间的主要区别在于处理大文件时所需的64位文件长度。
struct __stat64
:struct __stat64
结构体包含了一个64位的文件长度字段,因此它可以处理最大2^63-1字节的文件。这个结构体在Windows上主要用于处理大文件,例如超过2GB的文件。
struct __stat64 {
_dev_t st_dev;
_ino_t st_ino;
unsigned short st_mode;
short st_nlink;
short st_uid;
short st_gid;
_dev_t st_rdev;
__int64 st_size;
__time64_t st_atime;
__time64_t st_mtime;
__time64_t st_ctime;
};
struct _stati64
:struct _stati64
结构体也包含了一个64位的文件长度字段,因此它也可以处理最大2^63-1字节的文件。与struct __stat64
相比,struct _stati64
结构体主要用于处理UNIX风格的文件系统。
struct _stati64 {
_dev_t st_dev;
_ino_t st_ino;
unsigned short st_mode;
short st_nlink;
short st_uid;
short st_gid;
_dev_t st_rdev;
__int64 st_size;
time_t st_atime;
time_t st_mtime;
time_t st_ctime;
};
总结:struct __stat64
和struct _stati64
都是用于处理大文件的结构体,它们的主要区别在于处理UNIX风格文件系统的差异。在实际编程中,根据需要选择合适的结构体即可。
领取专属 10元无门槛券
手把手带您无忧上云