【发布时间】:2020-03-09 11:25:15
【问题描述】:
所以,我在 Windows 上运行,需要计算文件的大小。
SO 在很多地方都提到了GetFileSize,这需要HANDLE。我习惯于使用从fopen 返回的FILEs 等。
-
FILE和 WindowsHANDLE有什么区别?什么时候应该使用它们? - 例如,我可以将一个从
fopen获得的普通FILE传递给GetFileSize吗?还是我需要使用 Windows 的CreateFile(?) 函数来获取HANDLE然后将其传入?
【问题讨论】:
-
GetFileSize 也是 windows 独有的功能,不是标准的 c
-
值得一提的是,
stdio.h最接近的等价物(可以让您传递FILE*)是fseek(SEEK_END),后跟ftell()。其他操作系统上的等价物(在 POSIX 标准中但不是 C 标准,并且不使用FILE*)是fstat()。