c - stat 获取文件的大小并复制它

标签 c stat

对于我的一项作业,我必须读取一个文件(约 100 行)。 为了操作文件的内容并提取所有行,我使用 stat 函数分配一个具有文件大小的缓冲区。我用这个缓冲区读取的函数读取了文件。 有人告诉我这个方法很脏。

为什么它被认为是脏的?我认为如果文件很短,则意味着 char 数组的大小是可以接受的,并且意味着只有几个系统调用??

最佳答案

如果您的文件是符号链接(symbolic link)而不是常规文件,您将获得“符号链接(symbolic link)中包含的路径名的长度(以字节为单位)”。所以你不应该用它来获取文件长度。您可以在返回的 struct stat 的文档中看到这一点。 (http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/stat.h.html)

关于c - stat 获取文件的大小并复制它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26166805/

相关文章:

c - 为什么相同的浮点常量在 Fortran 和 C 中打印不同?

c++ - 返回 char*/Visual Studio 调试器异常

linux - 如何从(bash)脚本以跨平台方式获取/设置修改时间?

C - 使用 stat() 获取字节时遇到问题

C++如何获取文件最近更改的时间戳?

c++ - 如何在 SendInput 中使用扩展扫描码

c - 无法在 C 中使用 Libxml2 解析 XML

c - GCC函数调用错误

windows - C stat() 函数报告 Windows 桌面文件夹是只读的

c - 我怎样才能实现像程序这样的功能?