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 次 |
| 最近记录: |