开发者社区> 问答> 正文

怎样在读入文件前, 知道文件大小?

怎样在读入文件前, 知道文件大小?

展开
收起
游客py5kcp7dd6tu6 2022-03-30 07:21:10 404 0
1 条回答
写回答
取消 提交回答
  • 如果文件大小指的是你从 C 程序中可以读进的字符数量, 要得到这个精确的数字 可能困难或不可能。

    Unix 系统函数 stat() 会给出准确的答案。有些系统提供了类似 Unix 的 stat() 函数, 但只返回一个近似值。你可以调用 fseek() 搜 索到文件尾, 再调用 ftell(), 或者调用 fstat(), 然而这些 方法都有同样的问题: fstat() 不可移植, 通常返回和 stat() 一样 的值; ftell() 并不保证可以返回字符计数, 除非是用于二进制文件, 但是, 严格来讲, 二进制文件并不一定支持 fseek 搜索到 SEEK_END。 某些系统提供 filesize() 或 filelength() 的函数, 但是它们明显 的不可移植。

    你是否确定你必须预先知道文件大小?作为一个 C 程序最准确的方法 就是打开文件并读入, 也许可以重新整理代码, 使其边读入边计算文件大小。

    2022-03-30 07:21:32
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载