我需要将一些值传递给fseek()C中的方法,该值大于signed long类型的最大值(2147483647).但如果我喜欢下面结果的值是-1,这是不成功的.无论如何我能做到这一点吗?
//fp is the pointer to fopen method
unsigned long long index=2147483648;
int status = fseek(fp, index, SEEK_SET);
Run Code Online (Sandbox Code Playgroud)
您需要使用64位版本fseek():
_fseeki64()fseeko()用#define _FILE_OFFSET_BITS 64或-D_FILE_OFFSET_BITS=64并为lseek():
_lseeki64()lseek()用#define _FILE_OFFSET_BITS 64或-D_FILE_OFFSET_BITS=64还有lseek64(),但正如@R所提到的那样(见评论),不应该使用它.
| 归档时间: |
|
| 查看次数: |
1463 次 |
| 最近记录: |