当文件大小大于4GB时,如何在C语言中获取文件大小?
ftell返回一个4字节的有符号长整型,将其限制为两个字节。stat具有off_t类型的变量,该变量也是4个字节(不确定符号),因此最多只能告诉我4GB文件的大小。
如果文件大于4GB怎么办?
当文件大小大于4GB时,如何在C语言中获取文件大小?
ftell返回一个4字节的有符号长整型,将其限制为两个字节。stat具有off_t类型的变量,该变量也是4个字节(不确定符号),因此最多只能告诉我4GB文件的大小。
如果文件大于4GB怎么办?
ftell
返回long int
,而ftello
返回off_t
。http://www.gnu.org/software/libc/manual/html_node/File-Positioning.html - Gavin SmithGetFileSize[Ex]
函数来获取文件大小。尝试
#define _LARGEFILE64_SOURCE 1
#define _FILE_OFFSET_BITS 64
我认为这会在某些操作系统上将 off_t 的大小增加到 64 位