2

这个问题参考了如何在 C 中获取文件的大小?

大多数建议使用函数 stat 来获取文件长度的答案还带有一个标签来进行错误检查。

我们在这里需要什么样的错误检查?

谢谢。

4

2 回答 2

3

与许多 Unix/POSIX API 函数一样,stat(2)失败时返回负整数。不幸的是,这个整数对于 stat 总是 -1。因此,您需要检查errno全局变量(在 中定义<errno.h>)以查看确切的错误是什么。

Ben 列出了一些您可能会遇到的错误;这些错误和其他错误的 errno 代码列在stat 手册页中。

于 2011-07-03T04:30:56.227 回答
2
  • 该文件可能不存在
  • 您可能无权访问其元数据
  • 网络挂载点可能无法访问,或者可能存在其他读取错误
  • 它可能是一个没有大小的特殊文件(例如设备节点或 fifo)
于 2011-07-03T04:27:43.533 回答