真正大文件上的ftell错误

时间:2013-10-24 10:33:40

标签: c++ c 64-bit

根据unix手册页ftell,返回-1表示错误。

功能定义是:

long int ftell ( FILE * stream );

其中long int是32位整数(64位需要long long

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

1 个答案:

答案 0 :(得分:2)

您可以选中errno或使用名为ftell的{​​{1}}的64位版本。