KPe*_*xEA 8 c c++ fseek fgetpos
代码目前正在执行此操作,fgetpos会处理大于4GB的文件,但搜索会返回错误,所以任何想法如何寻找结束file > 4GB
?
fpos_t currentpos;
sok=fseek(fp,0,SEEK_END);
assert(sok==0,"Seek error!");
fgetpos(fp,¤tpos);
m_filesize=currentpos;
Run Code Online (Sandbox Code Playgroud)
忽略出现在其中的"64"的所有答案.在Linux上,您应该添加-D_FILE_OFFSET_BITS=64
到CFLAGS并使用fseeko
和ftello
/返回off_t
值而不是的函数long
.这些不是C的一部分,而是POSIX.其他(非Linux)POSIX系统可能需要不同的选项以确保它off_t
是64位; 检查你的文档.
归档时间: |
|
查看次数: |
2748 次 |
最近记录: |