0

根据 unix 手册页ftell,要么返回 -1 以指示错误。

函数定义为:

long int ftell ( FILE * stream );

哪里long int是 32 位整数(你需要long long64 位)

但是(-1L) == 0x00000000FFFFFFFF LL,对于非常大的文件(大约 4GB),这应该是一个有效值,在这种情况下,我们如何知道是否发生了错误,或者我们只有一个非常大的文件?

4

1 回答 1

2

您可以检查errno或使用 64 位版本的ftellcalled off64_t ftello64(FILE *stream)

于 2013-10-24T11:13:33.990 回答