根据unix手册页ftell
,返回-1表示错误。
功能定义是:
long int ftell ( FILE * stream );
其中long int
是32位整数(64位需要long long
)
然而(-1L) == 0x00000000FFFFFFFF LL
应该是真正大文件的有效值(大约4GB),在这种情况下,我们如何知道是否发生了错误,或者我们只是有一个非常大的文件?
答案 0 :(得分:2)
您可以选中errno
或使用名为ftell
的{{1}}的64位版本。